log4j和common-logging联合使用 也只需要配置lo4j.properties
log4j会自动找classpath下的log4j.properties,而commons-logging.properties这个文件不是必须的,只要classpath下有log4j commons-logging会默认使用log4j的log实现类org.apache.commons.logging.impl.Log4JLogger
日志级别:
日志级别包括TRACE<DEBUG<INFO<WARN<ERROR<FATAL 个人认为级别只代表apache的意愿,我们照样可以用log.error方法输出一般的调试信息,有时候这是有用的。
Appender:
log的输出终端,log4j提供了控制台(ConsoleAppender),文件(FileAppender,DailyRollingFileAppender),数据库(JDBCAppender)等各种终端实现,可以同时选择多种。
Layout:
日志输出的布局模式:一般用PatternLayout,这样可以用类似正则的方式输出日志
%m:输出代码中指定的消息。
%p:输出优先级。
%r:输入自应用启动到输出该log信息耗费的毫秒数。
%c:输出所属的类目,通常就是所在类的全名。
%t:输出产生该日志线程的线程名。
%n:输出一个回车换行符。Windows平台为“\r\n”,UNIX为“\n”。
%d:输出日志时间点的日期或时间,默认格式为ISO8601,推荐使用“%d{ABSOLUTE}”,这个输出格式形如:“2007-05-07 18:23:23,500”,符合中国人习惯。
%l:输出日志事件发生的位置,包括类名、线程名,以及所在代码的行数。
以下是配置文件案例
#INFO表示日志的输出级别
log4j.rootLogger=INFO,stdout,logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] %L - %m%n
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.Append=false
log4j.appender.logfile.File=c:/stdout.log
log4j.appender.logfile.DatePattern='_'yyyyMMdd'.log'
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] %L - %m%n