美文网首页
LogBack日志的配置和使用

LogBack日志的配置和使用

作者: 最美的风景 | 来源:发表于2019-05-12 14:27 被阅读0次

    在SpringBoot项目中,只需要在 logback-xxx.xml配置文件中进行相关的配置即可。如果是普通的maven项目, 则需要加入jar包,要加入slf4j和logback的jar包,slf4j需要的jar包为slf4j-api,logback需要3个jar包(logback-access、logback-classic、logback-core)。

    slf4j下载地址:https://www.slf4j.org/download.html

    logback下载地址:https://logback.qos.ch/download.html

    下载后解压,选择所需要的4个jar包即可。

    目录结构如下:

    目录结构.png

    下面我们来看具体的配置

    关于配置的解释已经在注释中写了

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    
        <!--配置控制台日志输出格式-->
        <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>
                    <!--%d表示日期, %msg表示日志的信息, %n表示换行-->
                    %d - %msg%n
                </pattern>
            </layout>
        </appender>
    
        <!--配置info信息输出到一个文件-->
        <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!--根据级别过滤掉匹配的日志,不输出error级别的日志-->
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <!--匹配上ERROR级别的日志信息,则不会输出到该文件中-->
                <onMatch>DENY</onMatch>
                <!--匹配不上ERROR级别的日志信息,则输出到该文件中-->
                <onMismatch>ACCEPT</onMismatch>
                <!--这样过滤以后,该文件中只会输出info级别的日志信息-->
            </filter>
            <!--日志输出格式,同上-->
            <encoder>
                <pattern>
                    %d - %msg%n
                </pattern>
            </encoder>
    
            <!--滚动策略,按时间每天生成一个日志文件-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--文件路径-->
                <fileNamePattern>F:/log/springboot/info.%d.log</fileNamePattern>
            </rollingPolicy>
        </appender>
    
        <!--配置error信息输出到一个文件-->
        <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!--根据范围过滤日志,只输出error级别的日志-->
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>ERROR</level>
            </filter>
            <!--日志输出格式-->
            <encoder>
                <pattern>
                    %d - %msg%n
                </pattern>
            </encoder>
    
            <!--滚动策略,按时间每天生成一个日志文件-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--文件路径-->
                <fileNamePattern>F:/log/springboot/error.%d.log</fileNamePattern>
            </rollingPolicy>
        </appender>
    
        <root level="info">
            <appender-ref ref="consoleLog"/>
            <appender-ref ref="fileInfoLog"/>
            <appender-ref ref="fileErrorLog"/>
        </root>
    </configuration>
    

    在程序用引用Logback,输出操作日志

    @Controller
    public class TestController {
    
        private final Logger logger = LoggerFactory.getLogger(TestController.class);
    
        @RequestMapping("/home")
        @ResponseBody
        public String home(){
            logger.info("logback 访问hello");
            logger.error("logback 访问hello");
            return "Hello World";
        }
    }
    

    控制台日志输出信息

    控制台信息.png

    日志文件信息

    日志文件.png

    相关文章

      网友评论

          本文标题:LogBack日志的配置和使用

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