• logback文件配置


    1. SpringBoot项目resource资源文件下新建 logback-spring.xml 或 logback.xml 文件

    <?xml version="1.0" encoding="utf-8"?>
    <!--
        scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
        scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
        debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
    -->
    <configuration scan="true" scanPeriod="60 seconds" debug="false">
    <property resource="logback.xml"/>
        <!-- 定义日志文件名称, 与工程名一致 -->
        <property name="appName" value="task-system"/>
        <!-- 定义日志的根目录, 绝对路径 -->
        <property name="LOG_HOME" value="/home/server/spring-boot/task-system"/>
        <!--
           日志输出格式:
               %d:表示日期时间
               %thread:表示线程名
               %-5level, %-5p:级别从左显示5个字符宽度
               %logger{36}:输出logger名,{36}表示logger名最大占用的字符位数,{0}表示最简短logger名(不包含包名)
               %msg:日志消息
               %n:换行符
           -->
        <appender name="CONSOLE-LOG" class="ch.qos.logback.core.ConsoleAppender">
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%d{yyyy-MM-dd' 'HH:mm:ss.sss} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </layout>
        </appender>
    
        <!-- 获取比info级别高(包括info级别)但除error级别的日志 -->
        <appender name="INFO-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 指定日志文件的名称 -->
            <file>${LOG_HOME}/${appName}.log</file>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>DENY</onMatch>
                <onMismatch>ACCEPT</onMismatch>
            </filter>
            <encoder>
                <pattern>%d{yyyy-MM-dd' 'HH:mm:ss.sss} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
            <!--滚动策略-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--路径-->
                <fileNamePattern>${LOG_HOME}/logs/${appName}-%d{yyyy-MM-dd}.log</fileNamePattern>
                <!-- 日志保留天数 -->
                <maxHistory>30</maxHistory>
            </rollingPolicy>
        </appender>
    
        <!-- 获取error级别的日志 -->
        <appender name="ERROR-LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 指定日志文件的名称 -->
            <file>${LOG_HOME}/${appName}.error.log</file>
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>ERROR</level>
            </filter>
            <encoder>
                <pattern>%d{yyyy-MM-dd' 'HH:mm:ss.sss} [%thread] %-5level %logger{36} - %msg%n</pattern>
            </encoder>
            <!--滚动策略-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--路径-->
                <fileNamePattern>${LOG_HOME}/error/${appName}-%d{yyyy-MM-dd}.log</fileNamePattern>
                <!-- 日志保留天数 -->
                <maxHistory>30</maxHistory>
            </rollingPolicy>
        </appender>
    
        <root level="info">
            <appender-ref ref="CONSOLE-LOG" />
            <appender-ref ref="INFO-LOG" />
            <appender-ref ref="ERROR-LOG" />
        </root>
    
        <!-- 异步输出 -->
        <appender name="ASYNC-INFO" class="ch.qos.logback.classic.AsyncAppender">
            <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
            <discardingThreshold>0</discardingThreshold>
            <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
            <queueSize>256</queueSize>
            <!-- 添加附加的appender,最多只能添加一个 -->
            <appender-ref ref="INFO-LOG"/>
        </appender>
    
        <appender name="ASYNC-ERROR" class="ch.qos.logback.classic.AsyncAppender">
            <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
            <discardingThreshold>0</discardingThreshold>
            <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
            <queueSize>256</queueSize>
            <!-- 添加附加的appender,最多只能添加一个 -->
            <appender-ref ref="ERROR-LOG"/>
        </appender>
    </configuration>

      另附一篇超详细说明 https://www.cnblogs.com/warking/p/5710303.html

  • 相关阅读:
    redis 安装,及基本命令
    Scrapy爬取大众养生网
    笔记——抓包工具抓取手机app内容
    爬取起点小说网(三)遇到的问题和代码解析
    爬取起点小说网(二)设计代码
    爬取起点小说网(一)设计思想
    python爬取豆瓣登陆验证码
    python爬去笔趣阁完整一本小说
    把爬取到的链接放到数据库
    python爬取网络图片
  • 原文地址:https://www.cnblogs.com/wq-code/p/13329705.html
Copyright © 2020-2023  润新知