zoukankan      html  css  js  c++  java
  • 开发搭建环境之springboot配置logback日志管理

    首先书写logback-spring.xml文件为:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    <springProperty scope="context" name="LOG_DIR" source="logging.path"/>
    <springProperty scope="context" name="LEVEL" source="logging.level"/>
    <springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
    <property name="FILE_LOG_PATTERN" value="%date [%level] [%thread] [%file : %line] %msg%n" />
    <!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,%i索引【从数字0开始递增】,,, -->
    <!-- appender是configuration的子节点,是负责写日志的组件。 -->
    <!-- ConsoleAppender:把日志输出到控制台 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
    <pattern>${FILE_LOG_PATTERN}</pattern>
    <!-- 控制台也要使用UTF-8,不要使用GBK,否则会中文乱码 -->
    <charset>UTF-8</charset>
    </encoder>
    </appender>
    <!-- RollingFileAppender:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件 -->
    <!-- 以下的大概意思是:1.先按日期存日志,日期变了,将前一天的日志文件名重命名为XXX%日期%索引,新的日志仍然是demo.log -->
    <!-- 2.如果日期没有发生变化,但是当前日志的文件大小超过1KB时,对当前日志进行分割 重命名-->
    <appender name="fileServiceLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>${LOG_DIR}/${APP_NAME}.log</File>
    <!-- rollingPolicy:当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名。 -->
    <!-- TimeBasedRollingPolicy: 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <!-- 活动文件的名字会根据fileNamePattern的值,每隔一段时间改变一次 -->
    <!-- 文件名:log/demo.2017-12-05.0.log -->
    <fileNamePattern>${LOG_DIR}/%d{yyyy-MM-dd}/${APP_NAME}-%d{yyyy-MM-dd}(%i).log</fileNamePattern>
    <!-- 每产生一个日志文件,该日志文件的保存期限为30天 -->
    <maxHistory>30</maxHistory>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <!-- maxFileSize:这是活动文件的大小,默认值是10MB,测试时可改成1KB看效果 -->
    <maxFileSize>2000MB</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <encoder>
    <!-- pattern节点,用来设置日志的输入格式 -->
    <pattern>${FILE_LOG_PATTERN}</pattern>
    <!-- 记录日志的编码:此处设置字符集 - -->
    <charset>UTF-8</charset>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
    <level>${LEVEL}</level>
    <!--<onMatch>ACCEPT</onMatch>-->
    <!--<onMismatch>DENY</onMismatch>-->
    </filter>
    </appender>
    <appender name="fileServiceLogError" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>${LOG_DIR}/${APP_NAME}-error.log</File>
    <!-- rollingPolicy:当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名。 -->
    <!-- TimeBasedRollingPolicy: 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <!-- 活动文件的名字会根据fileNamePattern的值,每隔一段时间改变一次 -->
    <!-- 文件名:log/demo.2017-12-05.0.log -->
    <fileNamePattern>${LOG_DIR}/%d{yyyy-MM-dd}/${APP_NAME}-error.%d{yyyy-MM-dd}(%i).log</fileNamePattern>
    <!-- 每产生一个日志文件,该日志文件的保存期限为30天 -->
    <maxHistory>30</maxHistory>
    <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
    <!-- maxFileSize:这是活动文件的大小,默认值是10MB,测试时可改成1KB看效果 -->
    <maxFileSize>50MB</maxFileSize>
    </timeBasedFileNamingAndTriggeringPolicy>
    </rollingPolicy>
    <encoder>
    <!-- pattern节点,用来设置日志的输入格式 -->
    <pattern>${FILE_LOG_PATTERN}</pattern>
    <!-- 记录日志的编码:此处设置字符集 - -->
    <charset>UTF-8</charset>
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
    <level>ERROR</level>
    <onMatch>ACCEPT</onMatch>
    <onMismatch>DENY</onMismatch>
    </filter>
    </appender>
    <!-- 控制台输出日志级别 -->
    <root level="${LEVEL}">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="fileServiceLog" />
    <appender-ref ref="fileServiceLogError" />
    </root>
    <logger name="org.springframework.amqp.rabbit.listener.BlockingQueueConsumer" level="OFF"/>
    <logger name="com.example" level="${LEVEL}">
    <appender-ref ref="fileServiceLog" />
    <appender-ref ref="fileServiceLogError" />
    </logger>
    </configuration>

    .yml文件的配置为:

    #logback配置
    logging:
      pattern:
        console: '%d -%msg%n'
      path: D:/data/log/seller.log
      level: 
      root: debug
    spring:
    application:
    name: springboot
  • 相关阅读:
    1451. Rearrange Words in a Sentence
    1450. Number of Students Doing Homework at a Given Time
    1452. People Whose List of Favorite Companies Is Not a Subset of Another List
    1447. Simplified Fractions
    1446. Consecutive Characters
    1448. Count Good Nodes in Binary Tree
    709. To Lower Case
    211. Add and Search Word
    918. Maximum Sum Circular Subarray
    lua 时间戳和时间互转
  • 原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/11605180.html
Copyright © 2011-2022 走看看