溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

springboot支付項(xiàng)目之日志配置

發(fā)布時(shí)間:2020-07-02 16:22:06 來源:網(wǎng)絡(luò) 閱讀:527 作者:凱哥Java 欄目:編程語(yǔ)言

日志框架

本節(jié)主要內(nèi)容:

1:常見的幾種日志框架

2:Logback的使用

3:怎么配置info和error級(jí)別日志到不同文件中并且按照日期每天一個(gè)文件。

springboot支付項(xiàng)目之日志配置

springboot支付項(xiàng)目之日志配置


以上幾個(gè)框架可以分類如下:

springboot支付項(xiàng)目之日志配置

springboot支付項(xiàng)目之日志配置

SLF4J和Logback的使用

日志級(jí)別:

springboot支付項(xiàng)目之日志配置

級(jí)別越大越嚴(yán)重。

一:Java類中使用日志兩種方式:

方式一:在每個(gè)類中添加日志對(duì)象:

private ?final?Logger?logger?= LoggerFactory.getLogger(LoggerTest.class);

springboot支付項(xiàng)目之日志配置

方法二:使用lombok插件:

在pom.xml文件中添加lombok依賴:

<dependency>

??<groupId>org.projectlombok</groupId>

??<artifactId>lombok</artifactId>

??<optional>true</optional>

</dependency>

然后再類上面使用@slf4j注解

springboot支付項(xiàng)目之日志配置

推薦使用第二種,注解方式。這樣就不用再每個(gè)類中添加了。

二:變量的打印

方式一:使用字符串+的方式。

springboot支付項(xiàng)目之日志配置

直接使用字符串+的。如果變量多,+就需要很多了。

方式二:使用占位符的方式。

springboot支付項(xiàng)目之日志配置

兩個(gè)運(yùn)行的結(jié)果:

springboot支付項(xiàng)目之日志配置

推薦使用第二種,這樣一看及明白。

Logback的配置

兩種配置方式:

application.yml和logback-spring.xml

也就是一種基于yml文件一種基于xml文件配置的

來看下項(xiàng)目中經(jīng)常遇到的日志需求:

區(qū)分info和error日志;每天產(chǎn)生一個(gè)日志文件。

springboot支付項(xiàng)目之日志配置

方式一:再yml文件中配置

springboot支付項(xiàng)目之日志配置

我們可以看到,logging相關(guān)配置還很多的。如console打印的日志格式、日期格式、文件、日志級(jí)別、日志最大大小等等。都可以配置的。

如:我們配置在控制臺(tái)輸出時(shí)間-信息換行。這個(gè)怎么配置呢?

springboot支付項(xiàng)目之日志配置

查看運(yùn)行結(jié)果:

springboot支付項(xiàng)目之日志配置

配置日志輸出位置:

springboot支付項(xiàng)目之日志配置

運(yùn)行后,可以在C盤下看到一個(gè)aa文件夾,打開就是日志文件了。如下圖:

springboot支付項(xiàng)目之日志配置

默認(rèn)日志文件名稱是spring.log。如果想修改成自己的可以使用file。如下圖

springboot支付項(xiàng)目之日志配置

運(yùn)行后:

springboot支付項(xiàng)目之日志配置

修改日志級(jí)別:

springboot支付項(xiàng)目之日志配置

日志級(jí)別還可以綁定到指定的類上面。如:

springboot支付項(xiàng)目之日志配置

第二種方式:使用xml文件配置

1:控制臺(tái)輸出:

springboot支付項(xiàng)目之日志配置

2:根據(jù)不同日志級(jí)別輸出到不同日志文件中。文件名帶上日期

可以看到,文件滾動(dòng)方式有很多,可以安裝大小和時(shí)間、可以按照時(shí)間的。如下圖:

springboot支付項(xiàng)目之日志配置

配置后文件如下:

springboot支付項(xiàng)目之日志配置

基于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>

各位有什么更好的日志框架介紹下唄


向AI問一下細(xì)節(jié)

免責(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)容。

AI