zoukankan      html  css  js  c++  java
  • Springboot 日志管理配置logback-spring.xml

    几种常见的日志

    1. Log4j:是最早的日志框架,是apach旗下的,可以单独使用,也可配合日志框架JCL使用;
    2. Log4j2:apach旗下的关于log4j的升级版;
    3. Logback:是基于slf4j接口实现的一套日志框架组件;(Logback是由log4j创始人设计的又一个开源日志组件。)
    4. JUL(java utillog):仿log4j实现的日志框架,是sun旗下的,(也就是在我们普遍使用的jdk中);
    5. Commons loggin:是一套日志接口(apache);
    6. Slf4j:也是一套日志接口; 

                  Commons Logging和Slf4j是日志门面(门面模式是软件工程中常用的一种软件设计模式,也被称为正面模式、外观模式。它为子系统中的一组接口提供一个统一的高层接          口,使          得子系统更容易使用)。log4j和Logback则是具体的日志实现方案。可以简单的理解为接口与接口的实现,调用这只需要关注接口而无需关注具体的实现,做到解耦;
       比较常用的组合使用方式是Slf4j与Logback组合使用,Commons Logging与Log4j组合使用。

         下面是Slf4j与Logback使用:

    Springboot 日志管理配置logback-spring.xml

    (1).application.yml配置

    1 # 日志目录
    2 logging:
    3   path: home/logs/
    4   file: ${logging.path}springboot

    (2).logback-spring.xml配置

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
     3 <!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
     4 <!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
     5                  当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
     6 <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
     7 
     8 <configuration debug="true">
     9     <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
    10     <!--<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>-->
    11     <property name="LOG_FILE" value="${LOG_FILE}"/>
    12 
    13     <!--1. 输出到控制台-->
    14     <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
    15         <encoder>
    16             <pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n</pattern>
    17         </encoder>
    18     </appender>
    19 
    20     <!--2. 输出到文档-->
    21     <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
    22     <appender name="R" class="ch.qos.logback.core.rolling.RollingFileAppender">
    23         <!-- 正在记录的日志文档的路径及文档名 -->
    24         <!--<File>${LOG_FILE}</File>-->
    25         <!--日志文档输出格式-->
    26         <encoder>
    27             <pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n</pattern>
    28         </encoder>
    29         <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
    30         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    31             <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log
    32             </fileNamePattern>
    33             <maxHistory>15</maxHistory>
    34         </rollingPolicy>
    35     </appender>
    36 
    37     <logger name="noModule" level="info"/>
    38     <logger name="org.codehaus" level="info"/>
    39     <logger name="org.apache" level="info"/>
    40     <logger name="org.springframework" level="info"/>
    41     <logger name="druid.sql" level="info"/>
    42     <logger name="com.alibaba" level="debug">
    43         <appender-ref ref="stdout"/>
    44     </logger>
    45     <logger name="com.springboot" level="debug"/>
    46     <root level="info">
    47         <appender-ref ref="stdout"/>
    48         <appender-ref ref="R"/>
    49     </root>
    50 </configuration>

    (3).生成日志

    Slf4j使用

    1 (1) public final class InStockController {
    2  
    3      private static final Logger LOGGER = LoggerFactory.getLogger(InStockController.class);
    4  }
    5  
    6 
    7  
    8 (2)  方法中
    9   LOGGER.info("xxxxxxxx");
  • 相关阅读:
    Essential Phone PH1官方刷机方法
    科普一下bl锁的知识,没解锁的必看!
    谷歌pixel手机解BL锁、刷机、破解电信(史上最详细的帖子)
    Fiddler4入门——手机抓包
    Windows10远程报错:由于CredSSP加密Oracle修正
    简单的利用JS来判断页面是在手机端还是在PC端打开的方法
    C# 之 比较两个word文档的内容
    Browsers 之 弹出窗口阻止问题
    Asp.Net 之 二维码生成
    windows Server2012 之 IIS8.0配置安装完整教程
  • 原文地址:https://www.cnblogs.com/joe-tang/p/10038367.html
Copyright © 2011-2022 走看看