美文网首页
logback学习笔记

logback学习笔记

作者: 雨夏_ | 来源:发表于2019-01-11 19:43 被阅读3次

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

1.删除log4j的依赖
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>${log4j_version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>${slf4j_version}</version>
</dependency>

2.添加logback和slf4j的依赖

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>${slf4j_version}</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>${logback_version}</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>${logback_version}</version>
</dependency>

3.添加logback.xml

在src/main/java/resources下新建logback.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="false" debug="false">
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>
                [%level] [%thread] [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%mdc{traceid}] [%mdc{user_id}] [%logger{0}] [%msg]%n
            </pattern>
        </encoder>
    </appender>
    <appender name="root" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${log4j.path}/root.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <maxHistory>3000</maxHistory>
            <!-- 按时间回滚的同时,按文件大小来回滚 -->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1GB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>
                [%level] [%thread] [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%mdc{traceid}] [%mdc{user_name}] [%mdc{interface}] [%logger{0}] [%msg]%n
            </pattern>
        </encoder>
    </appender>
    <!-- ERROR级别日志单独输出 -->
    <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${log4j.path}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <maxHistory>3000</maxHistory>
            <!-- 按时间回滚的同时,按文件大小来回滚 -->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>1GB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>

        <encoder>
            <pattern>
                [%level] [%thread] [%d{yyyy-MM-dd HH:mm:ss.SSS}] [%mdc{traceid}] [%mdc{user_name}] [%mdc{interface}] [%logger{0}] [%msg]%n
            </pattern>
        </encoder>
        <!-- 对ERROR级别的进行拦截 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <!-- 打印SQL日志 -->
    <logger name="com.ibatis" additivity="true">
        <level value="INFO" />
        <appender-ref ref="sql"/>
    </logger>
    <logger name="java.sql.Connection" additivity="true">
        <level value="INFO" />
        <appender-ref ref="sql"/>
    </logger>
        <root level="INFO">
        <appender-ref ref="root"/>
        <!--<appender-ref ref="console"/>-->
    </root>

出现的问题

Q:logback一直不生效
A:通过查看maven依赖树,发现在某个包中含有slf4j-log4j12的依赖,将这个依赖排除后问题解决。

相关文章

  • Logback学习笔记

    知识点 logback在会先加载classpath下的logback-test.xml,如果没有找到再加载logb...

  • logback学习笔记

    一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://lo...

  • logback学习笔记

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

  • logback学习笔记(下)

    在logback学习笔记(上)中我们介绍了logback中的一些核心概念,在这篇文章中我们共同来学习一下如何利用配...

  • logback学习笔记(上)

    相信任何一位工程师都在代码中写过日志打印代码,也知道日志打印对项目的重要性,有人做过统计代码中的日志占到工程总代码...

  • 第3章 Logback的配置与使用

    Logback的主要模块 logback-access logback-classic logback-core ...

  • 三.Logback配置与使用

    logback日志介绍 主要模块 logback-access logback-classic logback-c...

  • Logback 日志第一章简介

    logback 分为三个模块:logback-core,logback-classic和logback-acces...

  • logback配置笔记

    LogBack的配置大概包括3部分,Appender,Logger,Root的配置。 Appender: 负责写日...

  • Springboot Logback笔记

    之前习惯了日志配置文件粘贴复制。今天闲下来的时候,学习了Logback的配置新姿势,以后不再盲目粘贴复制了。由于S...

网友评论

      本文标题:logback学习笔记

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