log4j日志级别

Spring Boot日志介绍

て烟熏妆下的殇ゞ 提交于 2020-03-09 17:37:53
日志介绍 1、具体日志功能的实现有以下几种 JUL Log4j Logback Log4j2 Logback的实现类Logger,实现了slf4j的Logger接口 2、日志门面框架: 日志实现的抽象层,定义log的Info,debug这些方法。 JCL SLF4J 如下图,SLF4J定义了一些trace,debug等方法 3、日志的发展历史 1) JDK1.3及以前,通过System.(out|err).pringln 打印,存在巨大缺陷。(如没有办法定制化,日志粒度不够细,没有日志级别等) 2) 解析系统打印缺陷问题出现log4j, 2015年8月停止更新 3)受到log4j影响,SUN公司推出java.util.logging即JUL 4)由于存在两个系统实现,解决兼容性问题,推出commons-logging( 门面框架 ),即 JCL ,但存在一定的缺陷。(对log4J和JUL的配置兼容问题处理的不是很好。) 5)log4j作者推出 slf4j ( 门面框架 ),功能完善兼容性好,成为业界主流 6)log4j作者在推出log4j后进行新的改进思考推出logback 7) log4j2对log4j的重大升级,修复移植缺陷,极大提升性能 综上所述,最佳组合 slf4j+ logback(springboot使用), slf4j+ log4j2 来源: https://www

企业开发中选择logback而不是log4j的理由

六眼飞鱼酱① 提交于 2020-03-07 07:59:48
不知道看到这篇文章的Java工程师有没有考虑过这个问题:为什么在企业开发中会选择logback来记录日志,而不是log4j呢? 如果你以前没有考虑过这个问题,那么现在如果让你考虑一下,你可能觉的会是因为什么原因呢?本文就来为你回答这个问题。 无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进。不过尽管难以一一细数,这里还是列举部分理由为什么选择logback而不是log4j。牢记logback与log4j在概念上面是很相似的,它们都是有同一群开发者建立。所以如果你已经对log4j很熟悉,你也可以很快上手logback。如果你喜欢使用log4j,你也许会迷上使用logback。 1. 更快的执行速度 基于我们先前在log4j上的工作,logback 重写了内部的实现,在某些特定的场景上面,甚至可以比之前的速度快上10倍。在保证logback的组件更加快速的同时,同时所需的内存更加少。 2.更充足的测试 Logback 历经了几年,数不清小时数的测试。尽管log4j也是测试过的,但是Logback的测试更加充分,跟log4j不在同一个级别。我们认为,这正是人们选择Logback而不是log4j的最重要的原因。人们都希望即使在恶劣的条件下,你的日记框架依然稳定而可靠。 3. logback-classic 非常自然的实现了SLF4J logback

细说Java主流日志工具库

好久不见. 提交于 2020-03-05 22:03:53
目录 概述    java.util.logging (JUL)    Log4j    Logback    Log4j vs Logback    common-logging    slf4j    common-logging vs slf4j    总结 实施日志解决方案    引入jar包      slf4j直接绑定日志组件      slf4j兼容非slf4j日志组件      spring 集成 slf4j      common-logging绑定日志组件    配置      完整的logback.xml参考示例      完整的log4j.xml参考示例      logback配置参数说明    使用API      slf4j用法      common-logging用法 参考 概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子。 我们先来逐一了解一下主流日志工具。 java.util.logging (JUL) JDK1.4开始,通过 java.util.logging 提供日志功能。 它能满足基本的日志需要,但是功能没有Log4j强大,而且使用范围也没有Log4j广泛。 Log4j Log4j是apache的一个开源项目,创始人Ceki Gulcu。

log4j2 配置文件

旧街凉风 提交于 2020-03-05 18:06:39
<?xml version="1.0" encoding="UTF-8"?> <!-- configuration 属性 monitorInterval: 置配置文件的动态加载时间(s),在程序运行过程中,如果修改配置文件,程序会随之改变。 status: 设置 log4j 日志框架内部输出的日志级别 日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --> < configuration status = " error " monitorInterval = " 5 " > <!--配置变量--> < Properties > <!-- 配置输出格式,启动控制台颜色输出需要在 JVM 中设置:-Dlog4j.skipJansi=false --> < property name = " LOG_PATTERN " value = " %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight{%-5level} [%t] %-36c{36} - %m%n " /> <!-- 定义日志存储的路径 --> < property name = " FILE_PATH " value = " 更换为你的日志路径 " /> < property name = " FILE_NAME

idea1

此生再无相见时 提交于 2020-03-04 04:21:21
1、下载eclipse 或 idea Eclipse:http://www.eclipse.org/downloads/eclipse-packages/ 选择windows 64bit 点击download download from是China再下载 不是就选 select another mirror 选择China-university of science and technology of China idea:下载如下 https://www.jianshu.com/p/7d60ea5e51e9 2、下载JDK oracle:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html Windows x64 如果太慢了 移步百度网盘 3、下载maven PS:maven版本太高可能会让IDEA构建maven报错 比如unable import maven project 改了maven版本3.3.6可以 3.6+的就不行了 查看maven版本 cmd mvn -version 换了低版本要改环境变量MAVEN_HOME的路径 设置一下maven maven home directory (安装目录) user settings file(也就是conf下的settings.xml)

logback快速入门

二次信任 提交于 2020-03-03 02:15:10
一、slf4j The Simple Logging Facade for Java (SLF4J) serves as a simple facade or abstraction for various logging frameworks, such as java.util.logging, logback and log4j. SLF4J allows the end-user to plug in the desired logging framework at deployment time. 简单日志门面(SLF4J)为各种日志框架提供了一个简单的接口,使得用户能够在部署的时候配置其所希望的日志系统。 在实际的开发过程中,可能会使用各种不同的日志系统,每个日志系统的风格、样式和布局也不尽相同,在不同日志系统之间进行切换耗时耗力。使用slf4j无需考虑具体使用哪个日志系统,统一使用slf4j的API进行开发。当要在不同日志系统之间进行切换时,只需要选择对应的日志系统包即可,十分灵活方便(当然,日志系统本身的jar包和配置文件还是需要的)。还有一点好处是,slf4j能够支持多个参数,并且通过{}占位符进行替换,避免了各种各样的判断条件,从而提升了性能。 到官网下载最新版本的slf4j,解压缩。slf4j-api-version.jar是slf4j的核心jar包。除此之外

从Log4j迁移到LogBack的理由

荒凉一梦 提交于 2020-03-02 06:24:48
无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进。不过尽管难以一一细数,这里还是列举部分理由为什么选择logback而不是log4j。牢记logback与log4j在概念上面是很相似的,它们都是有同一群开发者建立。所以如果你已经对log4j很熟悉,你也可以很快上手logback。如果你喜欢使用log4j,你也许会迷上使用logback。 更快的执行速度 基于我们先前在log4j上的工作,logback 重写了内部的实现,在某些特定的场景上面,甚至可以比之前的速度快上10倍。在保证logback的组件更加快速的同时,同时所需的内存更加少。 充分的测试 Logback 历经了几年,数不清小时数的测试。尽管log4j也是测试过的,但是Logback的测试更加充分,跟log4j不在同一个级别。我们认为,这正是人们选择Logback而不是log4j的最重要的原因。人们都希望即使在恶劣的条件下,你的日记框架依然稳定而可靠。 logback-classic 非常自然的实现了SLF4J logback-classic中的登陆类自然的实现了SLF4J。当你使用 logback-classic作为底层实现时,涉及到LF4J日记系统的问题你完全不需要考虑。更进一步来说,由于 logback-classic强烈建议使用SLF4J作为客户端日记系统实现

《阿里巴巴开发手册》读书笔记-异常日志

青春壹個敷衍的年華 提交于 2020-03-02 00:25:02
Java异常日志 异常处理 日志规约 异常处理 Java类库中定义的可以通过 预检查 方式规避的RuntimeException异常不应该通过catch方式来处理: NullPointerException IndexOutofBoundsException 无法通过预检查的异常除外: 在解析字符串形式数字时,不得不通过catch NumberFormatException来实现 if ( obj != null ) { } 异常不要用来做流程控制,条件控制: 异常设计的初衷是解决程序运行中的各种意外情况,且异常的处理效率比条件判断方式要低很多 使用 catch 时要区分稳定代码和非稳定代码: 稳定代码: 无论如何不会出错的代码 非稳定代码: 非稳定代码的catch尽可能区分异常类型,再做对应处理 对于大段代码进行try - catch,会使得程序无法根据不同的异常做出正确的应激反应,也不利于定位问题 在用户注册场景中,如果用户输入非法字符,或者用户名称已存在,或者用户密码过于简单,在程序上作出分门别类的判断,并提示给用户 捕获异常是为了处理,不要捕获了什么都不处理.如果不需要处理,应该将异常抛给调用者 最外层的业务使用者,必须处理异常,将其转化为用户可以理解的内容 如果有 try 块放到了事务代码中 ,catch 异常后,如果需要回滚事务,一定要注意 手动回滚事务 finally

java log4j使用

笑着哭i 提交于 2020-03-01 04:03:05
log4j使用方法 1、定义配置文件 首先使用配置文件将使我们的应用程序更加灵活配置log日志输出方式包括输出优先级、输出目的地、输出格式。Log4j支持两种配置文件格式,一种是 XML格式的文件,一种是Java特性文件log4j.properties(键=值)。下面将介绍使用log4j.properties文件作为配置文 件的方法: ①配置根Logger,其语法为:0 log4j.rootLogger = [ level ] , appenderName, appenderName, … 其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定义的级别。Log4j建议只使用四个级别,优 先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。 appenderName就是指定日志信息输出到哪个地方。可同时指定多个输出目的地。 ②配置日志信息输出目的地Appender,其语法为: log4j.appender.appenderName = fully.qualified.name.of.appender.class log4j.appender

idea工具java日志 Log4j+slf4j使用

元气小坏坏 提交于 2020-03-01 03:33:24
参考博文: http://www.blogjava.net/zzzlyr/articles/353039.html 这几天一直在用logger记录日志,但一直不明白log4j.properties配置文件意思,下面看看其他博主文章给自己充充电。 本人认为日志记录不仅可以帮记录执行结果,看代码执行是否正常,并且在排查问题时也能很快帮助你定位有问题代码。 一、介绍 Log4j是一个用Java编写的可靠,快速和灵活的日志框架(API),是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务 器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。 Log4j由三个重要的组件构成: loggers: 负责捕获记录信息, 日志信息的优先级 。 appenders : 负责发布日志信息, 日志信息的输出目的地 。 layouts: 负责格式化不同风格的日志信息, 日志信息的输出格式 。 从源码角度深入分析log4j配置文件使用: http://www.cnblogs.com/davidwang456/p/4243161.html 注意: 1、日记记录的优先级(低到高) : # 控制台显示的内容是