javaweb基础-logback配置

logback.xml

总结:后续配置logback+slf4j或者 log4j2+slf4j,注意依赖jar包冲突,注意桥接转换

学习链接:https://www.cnblogs.com/quchunhui/p/5783172.html
学习链接:https://blog.csdn.net/yycdaizi/article/details/8276265

logback主要包含三个组成部分:Loggers(日志记录器)、Appenders(输出目的在)、Layouts(日志输出格式)

slf4j :如jdbc一样,定义了一套接口,是一个日志门面,可实现多个日志系统间快速切换(通过修改配置文件)

logback : 和log4j是同一作者,是log4j的升级版,效果可想而知.

logback 主要分为三个模块,分别是:

  logback-core:提供基础功能,是其他两个模块的基础
  logback-classic : log4j的升级,实现了self4j api
  logback-access:用于与sevlet容器进行集成、提供网络访问日志的功能

<?xml version="1.0" encoding="utf-8" ?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <!-- 控制台输出 -->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 输出的格式 -->
        <encoder>
            <pattern>%date{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{0} - %msg%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" >
            <level>info</level>
        </filter>
    </appender>

    <!-- 时间滚动输出info日志 -->
    <appender name="info-file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 配置滚动的策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志名称的格式 -->
            <FileNamePattern>/opt/log/web/info.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!-- 保存的最长时间:天数 -->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%date{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{0} - %msg%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter" >
            <level>info</level>
        </filter>
    </appender>

    <!-- 时间滚动输出debug日志 -->
    <appender name="debug-file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>/opt/log/web/debug.%d{yyyy-MM-dd}.log</FileNamePattern>
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%date{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{0} - %msg%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter" >
            <level>debug</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY </onMismatch>
        </filter>
    </appender>

    <!-- 时间滚动输出warn日志 -->
    <appender name="warn-file" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>/opt/log/web/warn.%d{yyyy-MM-dd}.log</FileNamePattern>
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%date{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{0} - %msg%n</pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter" >
            <level>warn</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY </onMismatch>
        </filter>
    </appender>

    <logger name="org.springframework" level="debug" />
    <logger name="java.sql.ResultSet" level="info" />
    <logger name="jdbc.sql" level="info" />
    <logger name="com.template.dao" level="info" />
    <logger name="org.mybatis" level="info" />
    <logger name="org.apache" level="info" />

    <root level="debug">
        <appender-ref ref="stdout" />
        <appender-ref ref="info-file" />
        <appender-ref ref="debug-file" />
    </root>
</configuration>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.7</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-core</artifactId>
    <version>1.1.7</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-access</artifactId>
    <version>1.1.7</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.1.7</version>
</dependency>

猜你喜欢

转载自blog.csdn.net/luzhiweistudy/article/details/80606289