5、Case
1、properties文件
log4j.appender.xiaozhi.File =org.apache.log4j.DailyRollingFileAppender log4j.appender.xiaozhi.File.file =d:\\xiaozhi.log log4j.appender.xiaozhi.File.DatePattern =.yyyy-MM-dd log4j.appender.xiaozhi.File.layout =org.apache.log4j.PatternLayout log4j.appender.xiaozhi.File.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss,SSS} %5p (%C:%M) - %m%n log4j.appender.xiaozhi.Console =org.apache.log4j.ConsoleAppender log4j.appender.xiaozhi.Console.layout =org.apache.log4j.PatternLayout log4j.appender.xiaozhi.Console.layout.ConversionPattern =%d{yyyy-MM-dd HH:mm:ss,SSS} %5p (%C:%M) -%m%n
2、一个数据源(rootLogger)
log4j.rootLogger =error,xiaozhi.File,xiaozhi.Console error 表示 日志级别 xiaozhi.File 表示properties文件指定的目的地 是 文件形式 xiaozhi.Console 表示properties文件指定的目的地 是 控制台形式 logger.debug("************* debug" ); logger.info( "************** info"); logger.warn("************** warn" ); logger.error("************* error" );
3、平时工作用法(try-catch)
try { logger.debug("***执行前***" ); int result = 10 / 0 ; logger .debug("***执行后***"); } catch (Exception e) { e.printStackTrace(); logger.error("************* error" + e.getMessage() ); }
4、两个数据源
级别取精确,输出为各自 log4j.properties文件 log4j.rootLogger=error,xiaozhi.File,xiaozhi.Console log4j.logger.com.xiaozhi =debug,xiaozhi.Console,xiaozhi.File java类方法中执行 logger.debug("************* debug" ); logger.info("************** info" ); logger.warn("************** warn" ); logger.error("************* error" ); 打印结果 2016-07-13 20:40:00,134 DEBUG (com.xiaozhi.log4j.test.TestLog4j:main) - ************* debug 2016-07-13 20:40:00,134 DEBUG (com.xiaozhi.log4j.test.TestLog4j:main) - ************* debug 2016-07-13 20:40:00,139 INFO (com.xiaozhi.log4j.test.TestLog4j:main) - ************** info 2016-07-13 20:40:00,139 INFO (com.xiaozhi.log4j.test.TestLog4j:main) - ************** info 2016-07-13 20:40:00,140 WARN (com.xiaozhi.log4j.test.TestLog4j:main) - ************** warn 2016-07-13 20:40:00,140 WARN (com.xiaozhi.log4j.test.TestLog4j:main) - ************** warn 2016-07-13 20:40:00,141 ERROR (com.xiaozhi.log4j.test.TestLog4j:main) - ************* error 2016-07-13 20:40:00,141 ERROR (com.xiaozhi.log4j.test.TestLog4j:main) - ************* error
打印结果说明:
根据打印结果看,取的 ‘控制单元’是 log4j.logger.com.xiaozhi ,所以 以级别是debug执行输出日志
然后。‘控制单元’是 log4j.rootLogge 的也会随着 级别是 debug 执行日志,所以输出 8 条
5、DailyRollingFileAppender
每天产生一个日志文件
超过当前天数,就会生成一个以当前天所在的日期生成一个log文件
例如:项目在2015-12-12 执行,时间超过了12日,就会生成一个 2015-12-12.log 文件
每天进步百分之一
浙公网安备 33010602011771号