SpringBoot之日志配置

springboot 日志按照天数切分并且将lombok.extern.slf4j.Slf4j 日志输出到指定文件夹。配置如下:

在项目src/main/resource下创建新文件夹config,并创建logback-spring.xml。据说springboot加载配置文件的时候,更喜欢名字带"spring"的配置文件,这样会优先加载,真实。

然后在application.properties或者application.yml中配置

#日志配置
logging.config=classpath:config/logback-spring.xml


#yml日志配置
logging:  
  config: classpath:config/logback-spring.xml

这些文件或文件名自己喜欢就行。

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="60 seconds" debug="false">
    <contextName>logback</contextName>
    <!--输出到控制台-->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--按天生成日志-->
    <appender name="logFile"  class="ch.qos.logback.core.rolling.RollingFileAppender">
        <Prudent>true</Prudent>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>
                logs/spring.%d{yyyy-MM-dd}.log
            </FileNamePattern>
            <maxHistory>60</maxHistory>
        </rollingPolicy>
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>
                %d{yyyy-MM-dd HH:mm:ss} -%msg%n
            </Pattern>
        </layout>
        
        <encoder>      
            <!-- pattern节点,用来设置日志的输入格式 -->  
            <pattern>      
                %d %p (%file:%line\)- %m%n    
            </pattern>      
            <!-- 记录日志的编码 -->  
            <charset>UTF-8</charset> <!-- 此处设置字符集 -->     
        </encoder>
    </appender>
    
    <root level="info">
    	<appender-ref ref="console" />
    </root>
	<!-- 控制台和文件日志级别 -->
	<!-- 级别依次为【从高到低】:FATAL > ERROR > WARN > INFO > DEBUG > TRACE  -->
    <!-- name="com.xxx" 包名,也就是group packageName -->
    <logger name="com.xxx" level="INFO" additivity="false">
        <appender-ref ref="logFile" />
    </logger>

</configuration>

核心配置:

<FileNamePattern>
        logs/spring.%d{yyyy-MM-dd}.log
</FileNamePattern>

如果是在IDE中启动springboot,会在xxx/src 生成logs文件夹并生成日志名为spring.xxxx.xx.xx.log的日志文件。jar的话,是与jar包同父目录下生成logs文件夹和log日志。

输出配置:

 <root level="info">
    	<appender-ref ref="console" />
 </root>

配置这个可以指定控制台输出的日志级别,如果你想要springboot默认启动时的那些日志,level="info"就行了,不想要就设置级别比info高即可。


	<!-- 控制台和文件日志级别 -->
	<!-- 级别依次为【从高到低】:FATAL > ERROR > WARN > INFO > DEBUG > TRACE  -->
    <!-- name="com.xxx" 包名,也就是group packageName -->
    <logger name="com.xxx" level="INFO" additivity="false">
        <appender-ref ref="logFile" />
    </logger>

配置这个可以设置spring.xxxx.xx.xx.log日志文件中输出的日志级别。偷懒的同学直接复制改一下name="com.xxx"中的xxx即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值