概述
项目中之前使用的log4j作为日志记录工具,为了在解决生产中遇到的各种问题,代码中打了相当详细的流程信息。有一次生产中遇到一个问题,从服务器上拉下当天的日志文件内容有800多兆,不知道你们感觉如何,个人觉得是有点大了,而且没有对文件大小进行控制,也就是说生产上读写日志文件有多大就会加载多大的文件。应当设置当日志文件内容达到一定大小时进行控制。
回归正题,今天终于对项目中的log4j进行改造,使用了logback,以下是我在这一次改造中的操作步骤,记录并分享给大家,以便以后遇到相同的问题有所参照。
第一步:
准备需要的jar包
logback的三个核心包 logback-core -1.2.3.jar, logback - access -1.2.3.jar, logback - classic -1.2.3.jar
slf4j 是日志记录的标准接口 slf4j - api -1.7.25.jar, slf4j - jdk14 -1.7.25.jar, slf4j-log4j12-1.7.25.jar,log4j-over-slf4j-1.7.25.jar
slf4 有关的包项目中之前有些已经存在,在使用时直接替换掉了。
第二步:
使用logback.xml文件替换log4j.properties文件。
在此,我先贴上之前的log4j配置文件
#logger level
log4j.rootLogger=DEBUG,DebugAppender,ErrorAppender,CONSOLE
#logger input console
log4j.appender.CONSOLE.Threshold=INFO,DEBUG
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} -[%t]- %-p %c [LineNumber:%L]: %m%n
#debug
logger input file
log4j.appender.DebugAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DebugAppender.Threshold=DEBUG
log4j.appender.DebugAppender.File=/file/path/example/file-name-debug.log
log4j.appender.DebugAppender.DatePattern = '.'yyyy-MM-dd
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-p %c [LineNumber:%L]: %m%n
#error log input file
log4j.appender.ErrorAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.ErrorAppender.Threshold=ERROR
log4j.appender.ErrorAppender.File=/file/path/example/file-name-error.log
log4j.appender.ErrorAppender.DatePattern = '.'yyyy-MM-dd
log4j.appender.ErrorAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.ErrorAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] %-p %c [LineNumber:%L]: %m%n
#db
log4j.logger.com.test.pay.dao.impl=ERROR
log4j.logger.org.springframework.jdbc.core.JdbcTemplate=ERROR
以下是替换完成之后的logback.xml文件
<?xml version="1.0" encoding="UTF-8" ?> <configuration> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] %p %c [LineNumber:%L]: %m%n </pattern> </encoder> </appender> <appender name="debugLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>/file/path/example/file-name.debug.log</file> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] %p %c [LineNumber:%L]: %m%n </pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/file/path/example/file-name.debug.log.%d{yyyy-MM-dd} </fileNamePattern> </rollingPolicy> </appender> <appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>/file/path/example/file-name.error.log</file> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%t] %p %c [LineNumber:%L]: %m%n </pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/file/path/example/file-name.error.log.%d{yyyy-MM-dd} </fileNamePattern> </rollingPolicy> </appender> <root level="DEBUG"> <appender-ref ref="console" /> <appender-ref ref="debugLog" /> <appender-ref ref="errorLog" /> </root> <logger name="com.test.pay.dao.impl" level="ERROR"/> <logger name="org.springframework.jdbc.core.JdbcTemplate" level="ERROR"/> </configuration>
在这次改造过程中,参照了官方文档和下载logback压缩包中的logback-example项目中的配置文件。
附带官网连接和下载连接
https://logback.qos.ch/manual/
https://logback.qos.ch/download.html。
转载于:https://www.cnblogs.com/thunderwish/p/7278656.html
最后
以上就是笨笨皮皮虾为你收集整理的log4j转logback的全部内容,希望文章能够帮你解决log4j转logback所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复