log4j级别排序(log4j的error级别在什么时候会打印)

本文目录
log4j的error级别在什么时候会打印
日志级别:ALL《DEBUG《INFO《WARN《ERROR《FATAL《OFF,不区分大小写;
各级包括自定义级别
但是在项目使用中真正使用的也就五个级别{
日志显示的级别,一共分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG 《 INFO 《 WARN 《 ERROR 《 FATAL}
《h3》使用Log4j《/h3》
第一步:在src目录下新建log4j.properties;
第二步:导入log4j-1.2.15.jar包;
第三步:测试代码;
我这里只是给你大概的说一下,你只要知道log4j的优先级就可以了,怎么输出error级别的信息,跟你的log4j.properties配置文件设置级别有关系
log4j怎么记录一个方法的开始,结束
有几个级别:
static Level DEBUG
DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的。
static Level INFO
INFO level表明 消息在粗粒度级别上突出强调应用程序的运行过程。
static Level WARN
WARN level表明会出现潜在错误的情形。
static Level ERROR
ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。
static Level FATAL
FATAL level指出每个严重的错误事件将会导致应用程序的退出。
另外,还有两个可用的特别的日志记录级别:
static Level ALL
ALL Level是最低等级的,用于打开所有日志记录。
static Level OFF
OFF Level是最高等级的,用于关闭所有日志记录。
一般指定为:xxx.log
可以将service和数据操作的sql分开:
log4j.rootLogger=INFO,rootDailyRollingFile
log4j.logger.java.sql=DEBUG, SqlDailyRollingFile
##### rootDailyRollingFile#####
log4j.appender.rootDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.rootDailyRollingFile.File=d:\\weblog\\testprj\\root.log
log4j.appender.rootDailyRollingFile.DatePattern=’.’yyyy-MM-dd
log4j.appender.rootDailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.rootDailyRollingFile.layout.ConversionPattern=%-r %d %-5p %c.%M(%F:%L) %x - %m%n
log4j 动态调整日志级别
需求 : 线上日志级别高,而定位问题时需要低级别日志便于分析问题
功能 :不重启服务器,提供设置页,手动触发log4j项目日志级别变化
实现 :本项目中手动调整本项目日志级别,不重启项目
实现 :在一个项目(admin)中动态控制多个相关项目(admin、api、task)的日志级别,不重启项目,方便操作管理。
思路 :
good 简洁实用: 动态修改log4j的日志级别,不重启服务器
美团 需求层面讲得好: 日志级别动态调整——小工具解决大问题
更多方案: log4j动态日志级别调整
如何使用log4j输出单个级别的log到指定文件
这种情况下,就需要debug、info、warn、error分别进行配置了。之后通过priority属性控制日志实际输出级别就可以。
《?xml version="1.0" encoding="UTF-8"?》
《!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "log4j.dtd"》
***隐藏网址***
《!-- Appenders --》
《appender name="console" class="org.apache.log4j.ConsoleAppender"》
《param name="Target" value="System.out" /》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss,SSS}||||%p||||%m%n" /》
《/layout》
《/appender》
《!-- 输出debug日志 --》
《appender name="debug.log" class="org.apache.log4j.DailyRollingFileAppender"》
《param name="File" value="d:/tmrpt/log/debug.log" /》
《param name="Append" value="true" /》
《param name="encoding" value="UTF-8"/》
《param name="DatePattern" value="yyyyMMddHH"/》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss,SSS} - %m%n" /》
《/layout》
《filter class="org.apache.log4j.varia.LevelRangeFilter"》
《param name="levelMin" value="debug" /》
《param name="levelMax" value="debug" /》
《param name="AcceptOnMatch" value="true" /》
《/filter》
《/appender》
《!-- 输出info日志 --》
《appender name="info.log" class="org.apache.log4j.DailyRollingFileAppender"》
《param name="File" value="d:/tmrpt/log/info.log" /》
《param name="Append" value="true" /》
《param name="encoding" value="UTF-8"/》
《param name="DatePattern" value="yyyyMMddHH"/》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss,SSS} - %m%n" /》
《/layout》
《filter class="org.apache.log4j.varia.LevelRangeFilter"》
《param name="levelMin" value="info" /》
《param name="levelMax" value="info" /》
《param name="AcceptOnMatch" value="true" /》
《/filter》
《/appender》
《!-- 输出warn日志 --》
《appender name="warn.log" class="org.apache.log4j.DailyRollingFileAppender"》
《param name="File" value="d:/tmrpt/log/warn.log" /》
《param name="Append" value="true" /》
《param name="encoding" value="UTF-8"/》
《param name="DatePattern" value="yyyyMMddHH" /》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss,SSS} - %m%n" /》
《/layout》
《filter class="org.apache.log4j.varia.LevelRangeFilter"》
《param name="levelMin" value="warn" /》
《param name="levelMax" value="warn" /》
《param name="AcceptOnMatch" value="true" /》
《/filter》
《/appender》
《!-- 输出error日志 --》
《appender name="error.log" class="org.apache.log4j.DailyRollingFileAppender"》
《param name="File" value="d:/tmrpt/log/error.log" /》
《param name="Append" value="true" /》
《param name="encoding" value="UTF-8"/》
《param name="DatePattern" value="yyyyMMddHH" /》
《layout class="org.apache.log4j.PatternLayout"》
《param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss,SSS} - %m%n" /》
《/layout》
《filter class="org.apache.log4j.varia.LevelRangeFilter"》
《param name="levelMin" value="error" /》
《param name="levelMax" value="error" /》
《param name="AcceptOnMatch" value="true" /》
《/filter》
《/appender》
《!-- Root Logger --》
《root》
《!-- priority配置输出日志级别 --》
《priority value="info" /》
《appender-ref ref="console" 》《/appender-ref》
《appender-ref ref="info.log" /》
《appender-ref ref="debug.log" /》
《appender-ref ref="warn.log" /》
《appender-ref ref="error.log"/》
《/root》
《/log4j:configuration》
log4j trace 级别怎么用
Log4j 2的好处就不和大家说了,如果你搜了2,说明你对他已经有一定的了解,并且想用它,所以这里直接就上手了。
1. 去官方下载log4j 2,导入jar包,基本上你只需要导入下面两个jar包就可以了(xx是乱七八糟的版本号):
log4j-core-xx.jar
log4j-api-xx.jar
2. 导入到你的项目中:这个就不说了。
3. 开始使用:
我们知道,要在某个类中使用log4j记录日志,只需要申明下面的成员变量(其实不一定要是成员变量,只是为了方便调用而已),log4j 2.0的使用非常简单,只要用LogManager的getLogger函数获取一个logger,就可以使用logger记录日志。
private static Logger logger = LogManager.getLogger(MyApp.class.getName());
这里getLogger有一个参数指定的是这个logger的名称,这个名称在配置文件里面可是有需要的,这个待会儿再说。
声明了Logger对象,我们就可以在代码中使用他了。
4. 日志的级别:
我们现在要调用logger的方法,不过在这个Logger对象中,有很多方法,所以要先了解log4j的日志级别,log4j规定了默认的几个级别:trace《debug《info《warn《error《fatal等。这里要说明一下:
1)级别之间是包含的关系,意思是如果你设置日志级别是trace,则大于等于这个级别的日志都会输出。
2)基本上默认的级别没多大区别,就是一个默认的设定。你可以通过它的API自己定义级别。你也可以随意调用这些方法,不过你要在配置文件里面好好处理了,否则就起不到日志的作用了,而且也不易读,相当于一个规范,你要完全定义一套也可以,不用没多大必要。从我们实验的结果可以看出,log4j默认的优先级为ERROR或者WARN(实际上是ERROR)
3)这不同的级别的含义大家都很容易理解,这里就简单介绍一下:
trace: 是追踪,就是程序推进以下,你就可以写个trace输出,所以trace应该会特别多,不过没关系,我们可以设置最低日志级别不让他输出。
debug: 调试么,我一般就只用这个作为最低级别,trace压根不用。是在没办法就用eclipse或者idea的debug功能就好了么。
info: 输出一下你感兴趣的或者重要的信息,这个用的最多了。
warn: 有些信息不是错误信息,但是也要给程序员的一些提示,类似于eclipse中代码的验证不是有error 和warn(不算错误但是也请注意,比如以下depressed的方法)。
error: 错误信息。用的也比较多。
fatal: 级别比较高了。重大错误,这种级别你可以直接停止程序了,是不应该出现的错误么!不用那么紧张,其实就是一个程度的问题。
5. 日志调用:
这里随便写个类,调用就是这么简单,log4j的核心在配置文件上。

更多文章:
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50
perl数组中最多的元素(用perl实现,得到一个数组中重复次数最多的元素)
2026年10月10日 17:00
oracle11g端口映射客户端频繁掉线(oracle本地进行连接的时候报错ORA-12560: TNS: 协议适配器错误)
2026年10月10日 16:10
vb程序设计里面的x是啥(VB程序设计中的变量是如何定义的,请大家帮帮忙告诉我)
2026年10月10日 10:40
java定时器每一分钟执行一次(java定时执行问题: 我想让一个Java代码在每小时的第25分钟执行一次的,这个怎么实现)
2026年10月10日 08:50
abap开发工作经历(目前,从事的是ABAP开发的不知道做这个有没有什么前途啊好的话,我会加分的~)
2026年10月10日 01:10


