------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------
简单的整合日志,首先提供俩种方式,log4j和logback
简单的说一下logback,他由log4j的原作者编写,由于重写了内核,在关键执行路径上,性能提升较大,有些甚至达到10倍以上,占的内存更小,slf4j能很好的整合它,还有很多数不胜数的优势,所以对他
进行补充
先开始log4j,从简入深,循序渐进
他这个需要的步骤如下
1.下载jar包,因为是maven项目,所以我给你们提供一个节点
log4j
log4j
1.2.16
2.书写log4j.properties文件(文件名必须这么来命名)
### direct log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### direct messages to file mylog.log ### log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=d:/log.txt log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n ### set log levels - for more verbose logging change 'info' to 'debug' ### log4j.logger.cn.dawn=debug, stdout,file ###log4j.rootLogger=debug, stdout,file###
log4j整合完毕,如果你从我这儿copy的话需要改的点就是log4j.logger.你的dao层包的全名(例如cn.dawn.dao)=debug, stdout,file,
他可以来监控sql语句,来进行排错等操作
下面看logback
logback需要和slf4j进行整合,slf4j和logback的关系如下,我用张图解释一下
好,相信对于这个有一定的想法了,他们之间的关系就像接口和实现类的感觉一样
下面说logback的使用,不要和上面的log4j一块使用,免得出现莫名其妙的错误
1.jar包(惯例,提供节点)
org.slf4j
slf4j-api
1.7.21
ch.qos.logback
logback-core
1.2.3
ch.qos.logback
logback-classic
1.2.3
test
2.配置logback.xml文件,名字不要起错误,因为他执行的时候会找个个名字的文件,如果没有,就会报错
"1.0" encoding="UTF-8"?>"stdout" class="ch.qos.logback.core.ConsoleAppender"> class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n "file" class="ch.qos.logback.core.rolling.RollingFileAppender"> logs/OALog.log class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> logs/archive/OALog_all_%d{yyyy-MM-dd}.%i.log.zip class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> 100MB class="ch.qos.logback.classic.PatternLayout"> %date{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%thread]%logger{56}.%method:%L -%msg%n "cn.dawn" additivity="true"> "debug" /> ref ref="stdout" /> ref ref="file" />
需要修改的地方为有个logger的name属性的值改为你的dao层包的全包名,然后就可以了