您好,登錄后才能下訂單哦!
日志框架
本節(jié)主要內(nèi)容:
1:常見的幾種日志框架
2:Logback的使用
3:怎么配置info和error級(jí)別日志到不同文件中并且按照日期每天一個(gè)文件。
以上幾個(gè)框架可以分類如下:
SLF4J和Logback的使用
日志級(jí)別:
級(jí)別越大越嚴(yán)重。
private ?final?Logger?logger?= LoggerFactory.getLogger(LoggerTest.class);
方法二:使用lombok插件:
在pom.xml文件中添加lombok依賴:
<dependency>
??<groupId>org.projectlombok</groupId>
??<artifactId>lombok</artifactId>
??<optional>true</optional>
</dependency>
然后再類上面使用@slf4j注解
推薦使用第二種,注解方式。這樣就不用再每個(gè)類中添加了。
直接使用字符串+的。如果變量多,+就需要很多了。
方式二:使用占位符的方式。
兩個(gè)運(yùn)行的結(jié)果:
推薦使用第二種,這樣一看及明白。
Logback的配置
兩種配置方式:
application.yml和logback-spring.xml
也就是一種基于yml文件一種基于xml文件配置的
來看下項(xiàng)目中經(jīng)常遇到的日志需求:
方式一:再yml文件中配置
我們可以看到,logging相關(guān)配置還很多的。如console打印的日志格式、日期格式、文件、日志級(jí)別、日志最大大小等等。都可以配置的。
如:我們配置在控制臺(tái)輸出時(shí)間-信息換行。這個(gè)怎么配置呢?
查看運(yùn)行結(jié)果:
配置日志輸出位置:
運(yùn)行后,可以在C盤下看到一個(gè)aa文件夾,打開就是日志文件了。如下圖:
默認(rèn)日志文件名稱是spring.log。如果想修改成自己的可以使用file。如下圖
運(yùn)行后:
修改日志級(jí)別:
日志級(jí)別還可以綁定到指定的類上面。如:
第二種方式:使用xml文件配置
1:控制臺(tái)輸出:
2:根據(jù)不同日志級(jí)別輸出到不同日志文件中。文件名帶上日期
可以看到,文件滾動(dòng)方式有很多,可以安裝大小和時(shí)間、可以按照時(shí)間的。如下圖:
配置后文件如下:
基于XML配置的所有配置信息:
<?xml version="1.0"?encoding="utf-8"??>
<configuration>
? ?<!-- 控制臺(tái)輸入日志格式配置-->
? ?<appender?name="consolelogg"?class="ch.qos.logback.core.ConsoleAppender">
? ? ? ?<layout?class="ch.qos.logback.classic.PatternLayout">
? ? ? ? ? ?<pattern>
? ? ? ? ? ? ? ?%d -%msg%n
? ? ? ? ? ?</pattern>
? ? ? ?</layout>
? ?</appender>
? ?<!-- info日志 每天一個(gè)日志文件配置-->
? ?<appender?name="infoFileLog"?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>
? ? ? ? ? ? ? ?%msg%n
? ? ? ? ? ?</pattern>
? ? ? ?</encoder>
? ? ? ?<!-- 配置日志滾動(dòng)策略-->
? ? ? ?<rollingPolicy?class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
? ? ? ? ? ?<!-- 文件路徑.文件名稱中帶有日期-->
? ? ? ? ? ?<fileNamePattern>c:/aa/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>
? ? ? ? ? ? ? ?%msg%n
? ? ? ? ? ?</pattern>
? ? ? ?</encoder>
? ? ? ?<!--滾動(dòng)策略-->
? ? ? ?<rollingPolicy?class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
? ? ? ? ? ?<!--路徑-->
? ? ? ? ? ?<fileNamePattern>c:/aa/error.%d.log</fileNamePattern>
? ? ? ?</rollingPolicy>
? ?</appender>
? ?<root?level="info">
? ? ? ?<appender-ref?ref="consolelogg"/>
? ? ? ?<appender-ref?ref="infoFileLog"/>
? ? ? ?<appender-ref?ref="fileErrorLog"/>
? ?</root>
</configuration>
各位有什么更好的日志框架介紹下唄
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。