您好,登錄后才能下訂單哦!
日志框架
本節主要內容:
1:常見的幾種日志框架
2:Logback的使用
3:怎么配置info和error級別日志到不同文件中并且按照日期每天一個文件。
以上幾個框架可以分類如下:
SLF4J和Logback的使用
日志級別:
級別越大越嚴重。
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注解
推薦使用第二種,注解方式。這樣就不用再每個類中添加了。
直接使用字符串+的。如果變量多,+就需要很多了。
方式二:使用占位符的方式。
兩個運行的結果:
推薦使用第二種,這樣一看及明白。
Logback的配置
兩種配置方式:
application.yml和logback-spring.xml
也就是一種基于yml文件一種基于xml文件配置的
來看下項目中經常遇到的日志需求:
方式一:再yml文件中配置
我們可以看到,logging相關配置還很多的。如console打印的日志格式、日期格式、文件、日志級別、日志最大大小等等。都可以配置的。
如:我們配置在控制臺輸出時間-信息換行。這個怎么配置呢?
查看運行結果:
配置日志輸出位置:
運行后,可以在C盤下看到一個aa文件夾,打開就是日志文件了。如下圖:
默認日志文件名稱是spring.log。如果想修改成自己的可以使用file。如下圖
運行后:
修改日志級別:
日志級別還可以綁定到指定的類上面。如:
第二種方式:使用xml文件配置
1:控制臺輸出:
2:根據不同日志級別輸出到不同日志文件中。文件名帶上日期
可以看到,文件滾動方式有很多,可以安裝大小和時間、可以按照時間的。如下圖:
配置后文件如下:
基于XML配置的所有配置信息:
<?xml version="1.0"?encoding="utf-8"??>
<configuration>
? ?<!-- 控制臺輸入日志格式配置-->
? ?<appender?name="consolelogg"?class="ch.qos.logback.core.ConsoleAppender">
? ? ? ?<layout?class="ch.qos.logback.classic.PatternLayout">
? ? ? ? ? ?<pattern>
? ? ? ? ? ? ? ?%d -%msg%n
? ? ? ? ? ?</pattern>
? ? ? ?</layout>
? ?</appender>
? ?<!-- info日志 每天一個日志文件配置-->
? ?<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>
? ? ? ?<!-- 配置日志滾動策略-->
? ? ? ?<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>
? ? ? ?<!--滾動策略-->
? ? ? ?<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>
各位有什么更好的日志框架介紹下唄
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。