日志 logback

在开发和生产过程中我们都不同程度的使用到了日志来调试和获取程序运行的信息,因此我们引入了日志框架

logback 就是一款非常优秀的日志框架

logback有两种配置形式->application.yml和logback-spring.xml

application.yml

在这种里面配置相对于是比较简单的,可以做的事情也是比较简单的只能配置一些日志文件的路径日志输出格式等等一些比较简单的内容

logging:
  pattern:
    console: "%d - %msg%n"  #    %d 是时间日期   %msg 是日志的信息  %n就是打印换行
  path: D:\  #    日志文件输出路径  默认名字是spring.log
  level:     #还可以这样指定具体类的方法的日志级别
    com.xiaoyuan.secondhand.controller.ReleaseGoodsController.addSecendHandGoods: debug
#  level: debug  #  指定日志的级别

#  file: D:\logfilename.log 日志文件的名字和路径


logback-spring.xml

这种配置方式就能够执行比较复杂的配置了

配置控制台的输出
<configuration>
    <!--    下面配置的就是控制台的输出-->
    <!--    意思就是这个配置项需要用到 class指定的这个类去处理-->
    <!--    一个appender就是一个小的配置项-->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <!--        指定展现的形式-->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <!--            这里面就是放的具体的格式-->
            <pattern>%d - %msg%n</pattern>
        </layout>
    </appender>
    <!--    上面配置的就是控制台的输出-->
        <root level="info">
        <appender-ref ref="consoleLog"/>
    </root>
</configuration>
配置文件的输出
		1.这个配置是info和error都在同一个文件

    <!--    下面是配置的文件输出-->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>%msg%n</pattern>
        </encoder>
        <!--        滚动策略    这个类表示是按照时间来滚动的  每天一个日志文件-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--            路径-->
            <!--            info.%d.log  直接在日志的文件名里面带上时间-->
            <fileNamePattern>D:/info.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>
    <!--    上面是配置的文件输出-->
    <root level="info">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileInfoLog"/>
    </root>

区分Info和Error的日志

每天产生一个日志文件

<?xml version="1.0" encoding="UTF-8" ?>

<configuration>
    <!--    下面配置的就是控制台的输出-->
    <!--    意思就是这个配置项需要用到 class指定的这个类去处理-->
    <!--    一个appender就是一个小的配置项-->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <!--        指定展现的形式-->
        <layout class="ch.qos.logback.classic.PatternLayout">
            <!--            这里面就是放的具体的格式-->
            <pattern>%d - %msg%n</pattern>
        </layout>
    </appender>
    <!--    上面配置的就是控制台的输出-->


    <!--    下面是配置的文件输出-->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--        Error的级别比info高所以如果再按照error的过滤方式来的话就过滤不了-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!--            Error这个配置项表示只让他输出Error级别的日志-->
            <level>ERROR</level>
            <!--            如果级别匹配ERROR的话就不让它进-->
            <onMatch>DENY</onMatch>
            <!--            如果级别不匹配ERROR的话就让他进-->
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder>
            <pattern>%msg%n</pattern>
        </encoder>
        <!--        滚动策略    这个类表示是按照时间来滚动的  每天一个日志文件-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--            路径-->
            <!--            info.%d.log  直接在日志的文件名里面带上时间-->
            <fileNamePattern>D:/info.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>
    <!--    上面是配置的文件输出-->

    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--        设置一个过滤器 不设置的话还是info和error信息输出到同一个地方-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <!--            Error这个配置项表示只让他输出Error级别的日志-->
            <level>ERROR</level>
        </filter>
        <encoder>
            <pattern>%msg%n</pattern>
        </encoder>
        <!--        滚动策略    这个类表示是按照时间来滚动的  每天一个日志文件-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--            路径-->
            <!--            info.%d.log  直接在日志的文件名里面带上时间-->
            <fileNamePattern>D:/error.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>
    <root level="info">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileInfoLog"/>
        <appender-ref ref="fileErrorLog"/>
    </root>
</configuration>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值