Spring Boot 日志管理

本文介绍了SpringBoot中日志管理的配置方法,包括不同级别的日志输出、自定义日志文件及格式等。支持多种日志框架如Logback、Log4j等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring Boot 日志管理 TRACE < DEBUG < INFO < WARN < ERROR 门面抽象框架.
Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。

1、application.properties
只对默认的日志系统Logback起作用的

logging.level.root=WARN
logging.level.org.springframework.web=DEBUG
logging.file=/log/log/my.log
logging.pattern.console=%d{yyyy/MM/dd-HH:mm:ss} [%thread] %-5level %logger- %msg%n
logging.pattern.file=%d{yyyy/MM/dd-HH:mm} [%thread] %-5level %logger- %msg%n

自定义日志配置
Logback:logback-spring.xml, logback-spring.groovy, logback.xml, logback.groovy

<configuration> 
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <!-- encoder 默认配置为PatternLayoutEncoder --> 
    <encoder> 
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
  </appender>  
  <appender name="WARN_OUT" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/var/www/logs/warn.log</file>
        <!-- 日志格式 -->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%class:%line] %-5level %logger - %msg%n</pattern>
        </encoder>
        <!-- 日志级别过滤器 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!-- 过滤的级别 -->
            <level>WARN</level>
            <!-- 匹配时的操作:接收(记录) -->
            <onMatch>ACCEPT</onMatch>
            <!-- 不匹配时的操作:拒绝(不记录) -->
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 按天回滚 daily -->
            <fileNamePattern>/var/www/logs/warn-%d{yyyy-MM-dd HH:mm:ss}.log</fileNamePattern>
            <!-- 最大保存时间:30天-->
            <maxHistory>30</maxHistory>
        </rollingPolicy>
  </appender>
  <logger name="logback"/> 
  <logger name="logback.LogbackDemo" level="INFO" additivity="false">
      <appender-ref ref="WARN_OUT"/>
  </logger>   
  <root level="ERROR">           
    <appender-ref ref="STDOUT" /> 
  </root>   
</configuration>
注意:
logback将控制logback包下的所有类的日志的打印,但是并没用设置打印级别,所以继承他的上级<root>的日志级别“DEBUG”;
没有设置addtivity,默认为true,将此loger的打印信息向上级传递;
没有设置appender,此loger本身不打印任何信息;

2、Log4j:
log4j-spring.properties, log4j-spring.xml, log4j.properties, log4j.xml

<exclusions>
    <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
    </exclusion>
</exclusions>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
    <version>1.3.8.RELEASE</version>
</dependency>

[<!ENTITY log_home "./collectLog">]
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <!-- Appenders -->
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <param name="Target" value="System.out" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-5p: %c - %m%n" />
        </layout>
    </appender>         
     <appender name="minaLog" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="&log_home;/mina.log"/>
        <param name="Append" value="true"/>
        <param name="MaxFileSize" value="10485760"/>
        <param name="MaxBackupIndex" value="10"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
        </layout>
    </appender> 
     <appender name="otherLog" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="&log_home;/other.log"/>
        <param name="Append" value="true"/>
        <param name="MaxFileSize" value="10485760"/>
        <param name="MaxBackupIndex" value="10"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
        </layout>
    </appender>     
    <logger name="com.cpit.collect.mina" additivity="false">
        <level value="info" />
        <appender-ref ref="minaLog" />
    </logger>               
    <root>
        <priority value="warn"/>
        <appender-ref ref="otherLog" />
     </root>    
</log4j:configuration>

3、Log4j2:log4j2-spring.xml, log4j2.xml
4、Java Util Logging:logging.properties

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值