SpringBoot項目使用logback.xml配置日誌輸出,如下配置文件是個參考:java
(1) 建議啓動時使用 logging.config 選項指定外部日誌文件。spring
例如:sql
(1) 配置文件直接指定 logging.config: /data/apps/config/xx/ordercenter-logback.xmlapache
(2) 啓動時候動態指定 日誌配置參數 : springboot
java -jar xx.jar --spring.profiles.active=product --logging.config=/data/apps/config/xx/ordercenter-logback.xmlapp
(2) configuration tag, scan 和 scanPeriod 屬性,用來講明:日誌配置文件可能會變化,按期掃描加載;debug
(3) root節點的控制檯輸出 stdout_appender, 通常用於本地調試,所以使用 springProfile 條件控制;調試
<configuration scan="true" scanPeriod="60 seconds"> <!-- 定義變量: 日誌文件目錄 和 名稱 --> <property name="LogDir" value="/opt/logs/mysaas"/> <property name="BaseLogName" value="base-saas"/> <property name="ErrorLogName" value="error-saas"/> <!-- info log appender config --> <appender name="info_appender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${LogDir}/${BaseLogName}.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LogDir}/${BaseLogName}.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- maxHistory 設定的是 fileNamePattern 指定到的最小的分割單位; 上面指定到了天(小時),那麼此處表明30天(小時) --> <maxHistory>30</maxHistory> </rollingPolicy> <!-- 定義log level 爲 INF --> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>INFO</level> </filter> <encoder> <pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- error log appender config --> <appender name="error_appender" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${LogDir}/${ErrorLogName}.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${LogDir}/${ErrorLogName}.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>ERROR</level> </filter> <encoder> <pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- console --> <appender name="stdout_appender" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 定義 LogLevel 和 Appender --> <root level="INFO"> <appender-ref ref="info_appender"/> <appender-ref ref="error_appender"/> <!-- 若是本地調試(spring profiles爲 dev),須要控制檯看日誌: 放開下面stdout_appender這一行 --> <springProfile name="dev"> <appender-ref ref="stdout_appender"/> </springProfile> </root> <!-- third part library logger config --> <!-- <logger name="org.apache" level="WARN"/> --> <!-- <logger name="java.sql" level="debug"/> --> </configuration>
參考文檔:日誌
默認日誌logback配置解析 http://tengj.top/2017/04/05/springboot7/code
logback 配置詳解 https://www.jianshu.com/p/1ded57f6c4e3