spring:
application:
name: bennyrhys
logging:
file:
name: ./logs/${spring.application.name}.log
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<!-- file -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<File>${LOG_FILE}</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}</fileNamePattern>
<maxHistory>${LOG_FILE_MAX_HISTORY:-7}</maxHistory>
</rollingPolicy>
</appender>
<root level="INFO">
<springProfile name="!prod">
<appender-ref ref="CONSOLE" />
</springProfile>
<appender-ref ref="FILE" />
</root>
</configuration>
參考設定
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>
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");