log4j配置

xiaoxiao2021-02-28  137

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。 [toc]

日志优先级

log4j.rootLogger=[level] level为日志的优先级。 分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL。 Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。

默认日志输出 log4j.rootLogger = DEBUG 就会输出DEBUG和以上级别的日志。自定义的日志输出名称也可以为随意的名字,例如:appdener1, appdener2。 例如:error, warn, appdener1, info, debug, appdener2 appdener1中定义的日志输出会显示info级别以上的 appdener2中定义的日志输出会显示debug级别和debug级别以上的 如果还是上面的但是appdener2中定义了: log4j.appender.appender2.Threshold=warn 此时appdener1中显示的日志不会变化,但是appdener2只会显示warn以上的日志,并不会显示info,debug的日志。

log4j的appender配置

log4j.appender.{appdenerName} = {value} org.apache.log4j.ConsoleAppender控制台 org.apache.log4j.FileAppender(文件) org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件) org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方) 定义日志文件的输出,控制台还是文件亦或是每天一个日志文件等。

配置布局文件 log4j.appender.{appenderName}.layout log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class 其中,Log4j提供的layout有以下几种: org.apache.log4j.HTMLLayout(以HTML表格形式布局), org.apache.log4j.PatternLayout(可以灵活地指定布局模式), org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串), org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

log4j.appender.{appenderName}.layout.ConversionPattern Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下: %m 输出代码中指定的消息 %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL %r 输出自应用启动到输出该log信息耗费的毫秒数 %c 输出所属的类目,通常就是所在类的全名 %t 输出产生该日志事件的线程名 %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n” %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921 %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)

其他配置

ConsoleAppender选项 Threshold=DEBUG:指定日志消息的输出最低层次。 ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 Target=System.err:默认情况下是:System.out,指定输出控制台

FileAppender 选项 Threshold=DEBUF:指定日志消息的输出最低层次。 ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 File=mylog.txt:指定消息输出到mylog.txt文件。 Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。

RollingFileAppender 选项 Threshold=DEBUG:指定日志消息的输出最低层次。 ImmediateFlush=true:默认值是true,意谓着所有的消息都会被立即输出。 File=mylog.txt:指定消息输出到mylog.txt文件。 Append=false:默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。 MaxFileSize=100KB: 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件。 MaxBackupIndex=2:指定可以产生的滚动文件的最大数。 log4j.appender.A1.layout.ConversionPattern=%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %c %m%n

转载请注明原文地址: https://www.6miu.com/read-50253.html

最新回复(0)