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(包含日志产生的时间、线程、类别等等信息)