我是靠谱客的博主 笨笨皮皮虾,最近开发中收集的这篇文章主要介绍log4j转logback,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

  项目中之前使用的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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部