1.log4j的作用
log4j用于系统的日志记录,系统日志统一交给log4j来管理,也减少手动输出日志的更多系统消耗
2.log4j日志配置文件的说明
2.1 日志级别定义
log4j.rootLogger=[日志级别定义],eg:log4j.rootLogger=INFO
说明:此参数为日志输出级别的定义,常用的选项有:DEBUG,INFO,WARN,ERROR。
一般设置为:log4j.rootLogger=INFO,ERROR
2.2 日志输出分类
通常,我们不希望所有INFO级别日志全都打到同一个日志文件中,会把不同路径或者不同类中的日志进行分类管理,打到不同的日志文件中。
log4j.logger.xxx=[日志级别],[日志打入的文件定义]
eg:log4j.logger.com.cc.web.controller=INFO,CONTROLLER
说明:红色加粗的com.cc.web.controller即表示该路径下的所有类的日志都是INFO级别,并且日志输出到定义的CONTROLLER这个日志定义中,在2.3中,会讲这个CONTROLLER是怎么定义和使用的。
在这里,我们就可以对当前系统的日志做一些分类记录
例如:
log4j.logger.com.cc.web.controller=INFO,CONTROLLER
log4j.logger.com.cc.web.service=INFO,SERVICE
log4j.logger.org.springframework=INFO
log4j.logger.java.sql.PreparedStatement=INFO,DAO
2.3日志输出定义
日志输出定义是定义某类日志的输出的文件路径、格式、编码等
用例子说明:
红色加粗的即为当前定义的名为CONTROOLER的日志配置,2.2中com.cc.web.controller下的所有日志都会输出到文件controller.log中。
log4j.appender.CONTROLLER=org.apache.log4j.DailyRollingFileAppender#此处定义为每天产生一个日志,还有其他选项,比如org.apache.log4j.RollingFileAppender,表示文件达到某个大小的时候,产生一个新的日志文件
log4j.appender.CONTROLLER.File=/opt/log/cc/controller.log#定义文件的输出路径
log4j.appender.CONTROLLER.DatePattern='.'yyyy-MM-dd#每天产生新文件后,旧的文件后追加时间,也就是说日志文件夹中,会有一组controller.log文件,当天的文件名就叫controller.log,以前的所有日志文件都被命名为controller.log.yyyy-MM-dd的形式保存起来
log4j.appender.CONTROLLER.layout=org.apache.log4j.PatternLayout#表示灵活的指定布局
log4j.appender.CONTROLLER.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t]-[%l]-[%p] %m%n#此处为PatternLayout的显示设置,具体含义暂时不阐述,后面在补充,想要了解,可以搜一下其他博文
log4j.appender.CONTROLLER.encoding=UTF-8#编码格式设置
以上,基本的日志配置就没得了。
做这个日志记录,是因为自己也有相应的困惑,log4j.properties中的内容根本看不懂。。。哈哈
如有疑问,希望留言交流或者加群:583522159