springboot日志笔记
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
直奔主題,在maven中添加日志依賴項(xiàng)
?? ??? ?<!-- 添加日志包 -->
?? ??? ?<dependency>
?? ??? ??? ?<groupId>org.springframework.boot</groupId>
?? ??? ??? ?<artifactId>spring-boot-starter-logging</artifactId>
?? ??? ?</dependency>
然后,在resource文件夾中添加一個(gè)xml文件,文件名稱固定為:logback-spring.xml,內(nèi)容如下。application.properties文件中的配置的日志非常不靈活,我想生產(chǎn)應(yīng)該沒(méi)人這么玩,也比較簡(jiǎn)單就不多說(shuō)了。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
?? ?<appender name="consoleLog"
?? ??? ?class="ch.qos.logback.core.ConsoleAppender">
?? ??? ?<layout class="ch.qos.logback.classic.PatternLayout">
?? ??? ??? ?<pattern>%d - %msg%n</pattern>
?? ??? ?</layout>
?? ?</appender>
?? ?<appender name="fileInfoLog"
?? ??? ?class="ch.qos.logback.core.rolling.RollingFileAppender">
?? ??? ?<filter class="ch.qos.logback.classic.filter.LevelFilter">
?? ??? ??? ?<level>ERROR</level>
?? ??? ??? ?<onMatch>DENY</onMatch>
?? ??? ??? ?<onMismatch>ACCEPT</onMismatch>
?? ??? ?</filter>
?? ??? ?<encoder>
?? ??? ??? ?<pattern>時(shí)間:%d{yyyy-MM-dd HH:mm:ss} 等級(jí):%-5level 類名:%logger{50} 內(nèi)容:%msg%n</pattern>
?? ??? ?</encoder>
?? ??? ?<!--滾動(dòng)策略 -->
?? ??? ?<rollingPolicy
?? ??? ??? ?class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
?? ??? ??? ?<!--路徑 -->
?? ??? ??? ?<fileNamePattern>log/info.%d.log</fileNamePattern>
?? ??? ?</rollingPolicy>
?? ?</appender>
?? ?<appender name="fileErrorLog"
?? ??? ?class="ch.qos.logback.core.rolling.RollingFileAppender">
?? ??? ?<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
?? ??? ??? ?<level>ERROR</level>
?? ??? ?</filter>
?? ??? ?<encoder>
?? ??? ??? ?<pattern>時(shí)間:%d{yyyy-MM-dd HH:mm:ss} 等級(jí):%-5level 類名:%logger{50} 內(nèi)容:%msg%n</pattern>
?? ??? ?</encoder>
?? ??? ?<!--滾動(dòng)策略 -->
?? ??? ?<rollingPolicy
?? ??? ??? ?class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
?? ??? ??? ?<!--路徑 -->
?? ??? ??? ?<fileNamePattern>log/error.%d.log</fileNamePattern>
?? ??? ?</rollingPolicy>
?? ?</appender>
?? ?<root level="info">
?? ??? ?<appender-ref ref="consoleLog" />
?? ??? ?<appender-ref ref="fileInfoLog" />
?? ??? ?<appender-ref ref="fileErrorLog" />
?? ?</root>
</configuration>
?
具體內(nèi)容介紹暫時(shí)先不寫說(shuō)明了。不過(guò)注意一點(diǎn)。日志路徑前別加任何東西,不然路徑不知道搞到哪里去了,要光禿禿的.
這里介紹借助lombok來(lái)簡(jiǎn)化代碼,不用在每個(gè)類里面都重工廠中創(chuàng)建代碼。直接在類名上添加注解 @Slf4j,然后在需要寫日志的地方寫上log.info("xxxx")即可寫如日志。
?
記錄Exception日志的詳細(xì)信息:log.error(e.getMessage(), e);
發(fā)現(xiàn)有時(shí)候向上面這樣記錄異常信息是記錄不了堆棧信息的,所以得換個(gè)法子:
log.error(String.format("異常攔截信息:%s\r\n堆棧信息:%s", ex.getMessage(), ExceptionUtils.getStackTrace(ex)));?
?
轉(zhuǎn)載于:https://my.oschina.net/uwith/blog/1862812
總結(jié)
以上是生活随笔為你收集整理的springboot日志笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL中间件之ProxySQL(11
- 下一篇: Spring中自动装配的方式有哪些?