美文网首页
将应用的log4j换成logback

将应用的log4j换成logback

作者: 周立_itmuch | 来源:发表于2017-10-12 10:18 被阅读0次

考虑到log4j很久不更新、性能相对弱,以及一些项目本身的原因,经过较为谨慎的考虑,决定改用logback。迁移还是比较顺利的,花了1个小时左右就搞定了,做个简单的笔记。

(1) 首先去掉所有log4j相关的依赖,主要有:

<dependency>
  <groupId>log4j</groupId>
  <artifactId>log4j</artifactId>
</dependency>

以及:

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-log4j12</artifactId>
</dependency>

(2) 为项目添加以下依赖:

<!-- logback日志配置开始 -->
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-core</artifactId>
</dependency>
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-access</artifactId>
</dependency>
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>log4j-over-slf4j</artifactId>
</dependency>
<!-- logback日志配置结束 -->

(3) 删除项目/src/main/resources目录下的log4j.properties,并在该目录添加logback.xml文件,logback.xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <Target>System.out</Target>
        <encoder>
            <pattern>%date [%level] [%thread] %logger{80} [%file : %line] %msg%n</pattern>
        </encoder>
    </appender>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>%date [%level] [%thread] %logger{80} [%file : %line] %msg%n</pattern>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${catalina.home}/logs/yzf/sql%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 保留 30天数据,默认无限-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
    </appender>
    <logger name="org.springframework" level="INFO" />
    <logger name="org.apache" level="INFO" />

    <logger name="com.itmuch" level="WARN" />
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

TIPS

(1) log4j-over-slf4j与slf4j-log4j12不能共存,可能会引发异常,详见http://www.tuicool.com/articles/INveIf

(2) slf4j-api、slf4j-log4j12以及log4j之间的关系http://blog.csdn.net/tengdazhang770960436/article/details/18006127

(3) 参考文档:http://blog.csdn.net/chenminghe271/article/details/38682493

本文首发

http://www.itmuch.com/work-sum-log4j-to-logback/

干货分享

全是干货

相关文章

  • 将应用的log4j换成logback

    考虑到log4j很久不更新、性能相对弱,以及一些项目本身的原因,经过较为谨慎的考虑,决定改用logback。迁移还...

  • 使用Log4j日志处理

    Springboot日志默认使用的是logback,本文将介绍将springboot项目日志修改为log4j。 首...

  • SpringBoot--实战开发-整合Logback(五)

    一、Logback简介   Logback是java的日志开源组件,是log4j创始人写的,性能比log4j要好,...

  • Logback的基本使用及配置

    简介 Logback旨在作为流行的log4j项目的后继者,从log4j离开的地方接手。 Logback的体系结构足...

  • logback学习笔记

    目的:将项目中的log4j改为logback,并且使用门面日志slf4j进行打印日志。 1.删除log4j的依赖 ...

  • logback教程

    一、Logback简介logback是一个开源的日志组件,是log4j的作者开发的用来替代log4j的。logba...

  • logge日志-logback

    一、logback简介 logback是log4j创始人写的,性能比log4j要好,目前主要分为3个模块 logb...

  • spring mvc+logback日志(1)--引用整合概述

    一、简介 Logback 继承自 log4j。Logback 的架构非常的通用,适用不同的使用场景。Logback...

  • 浅谈日志处理logback

    logback是由log4j创始人设计的另一款日志组件。比起log4j,logback表现出了更强的性能。logb...

  • logback介绍及使用配置(一)

    Logback和log4j是非常相似的,如果你对log4j很熟悉,那对logback很快就会得心应手。下面列了lo...

网友评论

      本文标题:将应用的log4j换成logback

      本文链接:https://www.haomeiwen.com/subject/ohsnyxtx.html