log4j分文件输出不同级别的日志

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j分文件输出不同级别的日志相关的知识,希望对你有一定的参考价值。

参考技术A src同级创建并设置log4j.properties

#log4j中有五级logger:

#FATAL 0 < #ERROR 3 < #WARN 4 <  #INFO 6 < #DEBUG 7

#常用设置级别:debug>info>error

#debug:显示debug、info、error

#info:显示info、error

#error:只error

log4j.rootLogger=debug,stdout,infolog,errorLog,debuglog

#info

log4j.logger.infolog = info,infolog

log4j.appender.infolog.Append=true

log4j.appender.infolog.Threshold =info

log4j.appender.infolog.encoding=utf-8

log4j.appender.infolog=org.apache.log4j.DailyRollingFileAppender

log4j.appender.infolog.File=./ismslog/isms.info.B.log

log4j.appender.infolog.layout=org.apache.log4j.PatternLayout

log4j.appender.infolog.layout.ConversionPattern=[%p][%dyy-MM-dd HH:mm:ss] %c1 - %m%n

#error

log4j.logger.errorLog = error,errorLog

log4j.appender.errorLog.Append=true

log4j.appender.errorLog.Threshold=error

log4j.appender.errorLog.encoding=utf-8

log4j.appender.errorLog=org.apache.log4j.DailyRollingFileAppender

log4j.appender.errorLog.File=./ismslog/isms.error.B.log

log4j.appender.errorLog.layout=org.apache.log4j.PatternLayout

log4j.appender.errorLog.layout.ConversionPattern=[%p][%dyy-MM-dd HH:mm:ss] %c1 - %m%n

#debug

log4j.logger.debuglog = debug,debuglog

log4j.appender.debuglog.Append=true

log4j.appender.debuglog.Threshold=debug

log4j.appender.debuglog.encoding=utf-8

log4j.appender.debuglog=org.apache.log4j.DailyRollingFileAppender

log4j.appender.debuglog.File=./ismslog/isms.debug.B.log

log4j.appender.debuglog.layout=org.apache.log4j.PatternLayout

log4j.appender.debuglog.layout.ConversionPattern=[%p][%dyy-MM-dd HH:mm:ss] %c1 - %m%n

#stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=[%p][%dyy-MM-dd HH:mm:ss] %c1 - %m%n

#ibatis config

log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug

log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug

log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug

log4j.logger.java.sql.Connection=debug

log4j.logger.java.sql.Statement=debug

log4j.logger.java.sql.PreparedStatement=debug

配置根Logger,其语法为:

log4j.rootLogger = [ level ] , appenderName, appenderName, ...

level 是日志记录的优先级

appenderName就是指定日志信息输出到哪个地方,可以同时指定多个输出目的地。

配置日志信息输出目的地Appender,其语法为:

log4j.appender.appenderName = fully.qualified.name.of.appender.class

log4j.appender.appenderName.option1 = value1

...

log4j.appender.appenderName.option = valueN

Log4j提供的appender有以下几种:

org.apache.log4j.ConsoleAppender(控制台),

org.apache.log4j.FileAppender(文件),

org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),

org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),

org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

配置日志信息的格式(布局),其语法为:

log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class

log4j.appender.appenderName.layout.option1 = value1

....

log4j.appender.appenderName.layout.option = valueN

Log4j提供的layout有以下几种:

org.apache.log4j.htmlLayout(以HTML表格形式布局),

org.apache.log4j.PatternLayout(可以灵活地指定布局模式),

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),

org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

以上是关于log4j分文件输出不同级别的日志的主要内容,如果未能解决你的问题,请参考以下文章

Log4j按级别输出日志到不同文件配置

Log4J日志配置详解和自定义log4j日志级别及输出日志到不同文件实现方法

Logback:只输出Info和Error级别的日志,并输出到不同的文件

log4j——如何控制不同级别的日志信息的输出?

(转)log4j——如何控制不同级别的日志信息的输出?

log4j输出日志级别控制