springboot(二)新增logback日誌
阿新 • • 發佈:2019-01-09
springboot預設引入logback相關的jar包
1、在 Application.properties裡新增
logging.config=classpath:logback-spring.xml
當檔名為logback.xml或者logback-spring.xml時不需要配置logging.config
2、建立logback-spring.xml檔案:
3、(1)彩色日誌需要IDE支援ANSI Escape Color,如果不需要就用下面的appender
(2)將日誌輸出到檔案
<?xml version="1.0" encoding="UTF-8" ?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <include resource="org/springframework/boot/logging/logback/defaults.xml" /> <!--定義日誌檔案的儲存地址 勿在 LogBack 的配置中使用相對路徑--> <property name="LOG_HOME" value="/var/log" /> <!-- 彩色日誌 --> <!-- 彩色日誌依賴的渲染類 --> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> <!-- 彩色日誌格式 --> <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}" /> <!-- Console 輸出設定 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="UTF-8"> <!-- 顯示毫秒數 <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>--> <pattern>${CONSOLE_LOG_PATTERN}</pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日誌檔案輸出的檔名--> <FileNamePattern>${LOG_HOME}/web.%d{yyyy-MM-dd}.log</FileNamePattern> <!--日誌檔案保留天數--> <MaxHistory>30</MaxHistory> </rollingPolicy> <!--日誌檔案最大的大小--> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <MaxFileSize>10MB</MaxFileSize> </triggeringPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!--格式化輸出:%d表示日期,%thread表示執行緒名,%-5level:級別從左顯示5個字元寬度%msg:日誌訊息,%n是換行符--> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern> </encoder> </appender> <!-- * 萬用字元 設定log列印級別 對所有類有效TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF--> <!--將上面的appender新增到root--> <root level="ERROR"> <appender-ref ref="STDOUT" /> <appender-ref ref="FILE" /> </root> <logger name="com.boot" level="INFO"></logger> <!--<!–日誌非同步到資料庫 –>--> <!--<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">--> <!--<!–日誌非同步到資料庫 –>--> <!--<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">--> <!--<!–連線池 –>--> <!--<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">--> <!--<driverClass>com.mysql.jdbc.Driver</driverClass>--> <!--<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>--> <!--<user>root</user>--> <!--<password>root</password>--> <!--</dataSource>--> <!--</connectionSource>--> <!--</appender>--> </configuration>