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

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

实例:(将error、info、debug级别分别输出到不同文件)

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][%d{yy-MM-dd HH:mm:ss}] %c{1} - %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][%d{yy-MM-dd HH:mm:ss}] %c{1} - %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][%d{yy-MM-dd HH:mm:ss}] %c{1} - %m%n

#stdout

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

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

log4j.appender.stdout.layout.ConversionPattern=[%p][%d{yy-MM-dd HH:mm:ss}] %c{1} - %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(包含日志产生的时间、线程、类别等等信息)

推荐阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 1,644评论 1 12
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 1,632评论 0 3
  • 一、Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layo...
    默默守护阅读 864评论 2 8
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一、L...
    enshunyan阅读 674评论 0 0
  • log4j 1.1 简介 Log4j是一个由Java编写可靠、灵活的日志框架,是Apache旗下的一个开源项目;现...
    贾博岩阅读 1,962评论 1 27