日誌框架spring
本節主要內容:app
1:常見的幾種日誌框架框架
2:Logback的使用ide
3:怎麼配置info和error級別日誌到不一樣文件中而且按照日期天天一個文件。spa
以上幾個框架能夠分類以下:插件
SLF4J和Logback的使用日誌
日誌級別:code
級別越大越嚴重。orm
private final Logger logger = LoggerFactory.getLogger(LoggerTest.class);xml
方法二:使用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>
各位有什麼更好的日誌框架介紹下唄