log4j日志记录
作者:互联网
写博客纯粹记录,如有不对,欢迎各位大佬指正
Log4j有三个主要的组件:
- Loggers(记录器)
- Appenders (输出源)
- Layouts(布局)
输出等级
- TRACE
- DEBUG
- INFO
- WARN
- ERROR
- FATAL
log4j.properties文件结构
#配置记录器1
#配置记录器N
#配置输出源1
#配置布局1
#配置输出源N
#配置布局N
记录器
log4j.记录器.[包] = 输出等级,输出源,输出源…(根记录器不需要设置包)
- rootLogger(根记录器,会输出所有包的日志) 下面为例子:
log4j.rootLogger = DEBUG,console,dailyFile
- logger(自定义记录器,根据自定义的包来输出,这个用得比较多)
log4j.logger.com.wonders.dao = TRACE,console,dailyFile
如果只想打印sql信息的话,在这里只切割dao或者mapper的包
同时需要把输出等级写为TRACE
输出源
log4j.appender.输出源 = className (一共有5种,例子写了两种,详细可参考最下方连接)
log4j.appender.console = org.apache.log4j.ConsoleAppender(控制台)
log4j.appender.dailyFile = org.apache.log4j.DailyRollingFileAppender(每日一个文件)
布局
log4j.appender.输出源.输出源属性 = 配置值 (详细可参考最下方连接)
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern =[%d{yyyy-MM-dd HH:mm:ss}]%-5p %l [%t] %m%n
最后贴一个完整的代码
# 0. TRACE
# 1. DEBUG (the least serious)
# 2. INFO
# 3. WARN
# 4. ERROR
# 5. FATAL (the most serious)
#切所有包的日志
#log4j.rootLogger=DEBUG,console,dailyFile
#切dao包里面的日志 只打印sql信息
log4j.logger.com.wonders.dao=TRACE,console
### 后台控制台的打印 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern =[%d{yyyy-MM-dd HH:mm:ss}]%-5p %l [%t] %m%n
### dailyFile ###
#log4j.appender.dailyFile=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.dailyFile.File=${catalina.base}/logs/ns-cooperation.log
#log4j.appender.dailyFile.DatePattern='.'yyyy-MM-dd
#log4j.appender.dailyFile.Append=true
#log4j.appender.dailyFile.Threshold=INFO
#log4j.appender.dailyFile.layout=org.apache.log4j.PatternLayout
#log4j.appender.dailyFile.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]%-5p %l [%t] %m%n
参考文章:
https://www.jianshu.com/p/ccafda45bcea
标签:输出,dailyFile,记录,log4j,记录器,console,日志,appender 来源: https://blog.csdn.net/lio567/article/details/98056098