zoukankan      html  css  js  c++  java
  • springboot 配置logback日志

    一个好的日志对于我们分析问题带来很好收益,在网上看了很多springboot的logback配置,现在规整下便于自己后续使用。觉得有用的可以收藏。

    Spring Boot 官方推荐优先使用带有 -spring 的文件名作为你的日志配置(如使用 logback-spring.xml ,而不是 logback.xml ),命名为 logback-spring.xml 的日志配置文件。

    因此我们只需要在 resources 目录下,就能自动被 spring boot 加载(注意名字是logback-spring.xml,不要写为spring-logback.xml

    logback-spring.xml内容如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <configuration>
    <!--项目名称-->
    <property name="LOG_FILE" value="admin"/>
    <!--文件输出日志路径-->
    <property name="PATH" value="logs/admin/"/>
    <!--最新日志文件名称-->
    <property name="LOG_FILE_NAME" value="app"/>

    <!-- 彩色日志 -->
    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
    <!-- 彩色日志格式 用于控制台输出-->
    <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan}[lineNo:%line] %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>

    <!-- 用于文件输出-->
    <property name="COM_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} [lineNo:%line] - %msg%n"></property>

    <!--控制台日志输出设置-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
    <pattern>${CONSOLE_LOG_PATTERN}</pattern>
    <charset>UTF-8</charset>
    </encoder>
    </appender>
    <!--文件日志输出设置-->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${PATH}/${LOG_FILE_NAME}.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
    <fileNamePattern>${PATH}/${LOG_FILE}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
    <!--日志大小-->
    <maxFileSize>10MB</maxFileSize>
    <!--保存天数-->
    <maxHistory>30</maxHistory>
    <!--日志总大小-->
    <totalSizeCap>1GB</totalSizeCap>
    </rollingPolicy>
    <!--com.**.mapper为你dao层的包路径写成自己的-->
    <!-- <logger name="com.**.mapper" level="DEBUG"/>-->
    <encoder>
    <pattern>${COM_LOG_PATTERN}</pattern>
    <charset>UTF-8</charset>
    </encoder>
    </appender>
    <root level="INFO">
    <appender-ref ref="console"/>
    <appender-ref ref="file"/>
    </root>
    </configuration>

    配置好后再项目中直接使用,例如:
    1、导入包

    2、使用

     结果:

     

     目前配置能满足现有项目的基本要求,后续发现好用的其他配置再往里面添加。

  • 相关阅读:
    c8051f交叉开关
    8052定时器2的用法
    poj1010
    poj2101
    poj1958
    poj3444
    poj2977
    DataTable 相关操作
    C#中string和StringBuilder的区别
    DataTable排序,检索,合并,筛选
  • 原文地址:https://www.cnblogs.com/tpcwlilacfover/p/14216843.html
Copyright © 2011-2022 走看看