本来想写篇文章介绍一下spring boot使用,搭建web程序的步骤。写了一会发现自己还有很多地方没深入。

所以介绍一下log配置吧,网上资源讲得都不太清楚。

1、首先建一个src/main/resources的source code folder;

2、在文件夹下面新建logback-spring.xml文件

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html#boot-features-logback-extensions

3、java -jar xxx.jar --spring.profiles.active=dev

配置参考如下(logback-spring.xml):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml"/>
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <Pattern>.%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %n</Pattern>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
    </appender>    
    <root level="INFO">  
        <appender-ref ref="consoleAppender" />  
    </root>
    <appender name="dailyRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>log/calculator.log</File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- daily rollover -->
        <FileNamePattern>calculator.%d{yyyy-MM-dd}.log</FileNamePattern>
        <!-- keep 30 days' worth of history -->
        <maxHistory>30</maxHistory>         
        </rollingPolicy>
        <encoder>
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
        </encoder>        
    </appender>
    <springProfile name="test">
        <root level="DEBUG">  
            <appender-ref ref="dailyRollingFileAppender" />  
        </root>
    </springProfile>
    
    <springProfile name="dev">
        <root level="DEBUG">  
               <appender-ref ref="dailyRollingFileAppender" />  
        </root>
    </springProfile>
    
    <springProfile name="online">
        <root level="INFO">  
               <appender-ref ref="dailyRollingFileAppender" />  
        </root>
    </springProfile>
    <!-- common config -->
</configuration>