最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Spring Boot中如何使用log4j記錄日志

 更新時間:2017年02月09日 09:37:01   作者:橘子不酸  
這篇文章主要介紹如何在spring boot中引入log4j,以及一些基礎(chǔ)用法,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

Spring Boot在所有內(nèi)部日志中使用Commons Logging,但是默認(rèn)配置也提供了對常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每種Logger都可以通過配置使用控制臺或者文件輸出日志內(nèi)容。本文主要介紹了在Spring Boot中如何使用log4j記錄日志,感興趣的來一起學(xué)習(xí)學(xué)習(xí)。

引入log4j依賴

在創(chuàng)建Spring Boot工程時,我們引入了spring-boot-starter,其中包含了spring-boot-starter-logging,該依賴內(nèi)容就是
Spring Boot默認(rèn)的日志框架Logback,所以我們在引入log4j之前,需要先排除該包的依賴,再引入log4j的依賴,就像下面這樣:

<dependency> 
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter</artifactId>
 <exclusions>
 <exclusion> 
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-logging</artifactId>
 </exclusion>
 </exclusions>
</dependency>
<dependency> 
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

配置log4j.properties

在引入了log4j依賴之后,只需要在src/main/resources目錄下加入log4j.properties配置文件,就可以開始對應(yīng)用的日志進(jìn)行配置使用。

控制臺輸出

通過如下配置,設(shè)定root日志的輸出級別為INFO,appender為控制臺輸出stdout

# LOG4J配置
log4j.rootCategory=INFO, stdout
# 控制臺輸出
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
 log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

輸出到文件

在開發(fā)環(huán)境,我們只是輸出到控制臺沒有問題,但是到了生產(chǎn)或測試環(huán)境,或許持久化日志內(nèi)容,方便追溯問題原因。
可以通過添加如下的appender內(nèi)容,按天輸出到不同的文件中去,同時還需要為log4j.rootCategory添加名為file的appender,
這樣root日志就可以輸出到logs/all.log文件中了。

#
log4j.rootCategory=INFO, stdout, file
# root日志輸出
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.file.file=logs/all.log 
log4j.appender.file.DatePattern='.'yyyy-MM-dd 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

分類輸出

1.可以按不同package進(jìn)行輸出。通過定義輸出到logs/my.log的appender,并對com.didispace包下的日志級別設(shè)定
為DEBUG級別、appender設(shè)置為輸出到logs/my.log的名為didifile的appender。

# com.juzi包下的日志配置
log4j.category.com.juzi=DEBUG, didifile
# com.didispace下的日志輸出
log4j.appender.didifile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.didifile.file=logs/my.log 
log4j.appender.didifile.DatePattern='.'yyyy-MM-dd 
log4j.appender.didifile.layout=org.apache.log4j.PatternLayout 
log4j.appender.didifile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L ---- %m%n

可以對不同級別進(jìn)行分類,比如對ERROR級別輸出到特定的日志文件中,具體配置可以如下。

og4j.logger.error=errorfile 
# error日志輸出
log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.errorfile.file=logs/error.log 
log4j.appender.errorfile.DatePattern='.'yyyy-MM-dd 
log4j.appender.errorfile.Threshold = ERROR 
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • spring-boot實現(xiàn)增加自定義filter(新)

    spring-boot實現(xiàn)增加自定義filter(新)

    本篇文章主要介紹了spring-boot實現(xiàn)增加自定義filter(新),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 利用Java查看進(jìn)程內(nèi)存占用情況的實現(xiàn)方法

    利用Java查看進(jìn)程內(nèi)存占用情況的實現(xiàn)方法

    在系統(tǒng)監(jiān)控和性能調(diào)優(yōu)中,了解各個進(jìn)程的內(nèi)存占用情況是非常重要的一環(huán),通過查看進(jìn)程內(nèi)存使用情況,開發(fā)者和運維人員可以及時發(fā)現(xiàn)異常進(jìn)程、資源瓶頸和內(nèi)存泄漏問題,本項目旨在使用 Java 編寫一個簡單的程序,通過調(diào)用操作系統(tǒng)的命令來獲取系統(tǒng)中各個進(jìn)程的內(nèi)存使用情況
    2025-03-03
  • java獲取一個文本文件的編碼(格式)信息

    java獲取一個文本文件的編碼(格式)信息

    這篇文章主要介紹了java獲取一個文本文件的編碼(格式)信息,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 詳解Java并發(fā)包中線程池ThreadPoolExecutor

    詳解Java并發(fā)包中線程池ThreadPoolExecutor

    ThreadPoolExecutor是Java語言對于線程池的實現(xiàn)。線程池技術(shù)使線程在使用完畢后不回收而是重復(fù)利用。如果線程能夠復(fù)用,那么我們就可以使用固定數(shù)量的線程來解決并發(fā)問題,這樣一來不僅節(jié)約了系統(tǒng)資源,而且也會減少線程上下文切換的開銷
    2021-06-06
  • SpringBoot全局處理統(tǒng)一返回類型方式

    SpringBoot全局處理統(tǒng)一返回類型方式

    這篇文章主要介紹了SpringBoot全局處理統(tǒng)一返回類型方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java數(shù)據(jù)存儲的“雙子星”對決(Map和Set的區(qū)別)

    Java數(shù)據(jù)存儲的“雙子星”對決(Map和Set的區(qū)別)

    文章主要介紹了Java中Map和Set兩種數(shù)據(jù)結(jié)構(gòu)的定義、實現(xiàn)、方法及應(yīng)用場景,Map用于存儲鍵值對,鍵唯一,值可重復(fù);Set用于存儲唯一元素,無序,兩者都提供了豐富的操作方法,如添加、刪除、查找等,感興趣的朋友一起看看吧
    2025-02-02
  • 深入淺析Spring 中的Null-Safety

    深入淺析Spring 中的Null-Safety

    Spring Framework 本身利用了上面這幾個注釋,但它們也可以運用在任何基于Spring的Java 項目中,以聲明空安全api 和 空安全字段。這篇文章主要介紹了Spring 中的Null-Safety相關(guān)知識 ,需要的朋友可以參考下
    2019-06-06
  • java堆棧類使用實例(java中stack的使用方法)

    java堆棧類使用實例(java中stack的使用方法)

    java中stack的使用方法,堆棧是一種"后進(jìn)先出"(LIFO) 的數(shù)據(jù)結(jié)構(gòu), 只能在一端進(jìn)行插入(稱為"壓棧") 或刪除 (稱為"出棧")數(shù)據(jù)的操作,下面看示例吧
    2013-12-12
  • Java 滑動窗口最大值的實現(xiàn)

    Java 滑動窗口最大值的實現(xiàn)

    這篇文章主要介紹了Java 滑動窗口最大值,給定一個數(shù)組 nums,有一個大小為 k 的滑動窗口從數(shù)組的最左側(cè)移動到數(shù)組的最右側(cè)。感興趣的可以了解一下
    2021-05-05
  • Java線程中的用戶態(tài)和內(nèi)核態(tài)解讀

    Java線程中的用戶態(tài)和內(nèi)核態(tài)解讀

    這篇文章主要介紹了Java線程中的用戶態(tài)和內(nèi)核態(tài)解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論

澄迈县| 樟树市| 松桃| 博湖县| 武穴市| 云龙县| 广德县| 安多县| 吉首市| 塔城市| 延川县| 晋州市| 阿尔山市| 大渡口区| 乐东| 温州市| 青岛市| 马山县| 无为县| 广丰县| 长乐市| 依安县| 北辰区| 台东市| 陕西省| 琼结县| 张家港市| 大丰市| 台北县| 富平县| 许昌市| 永城市| 朝阳市| 吉木萨尔县| 开封县| 道孚县| 七台河市| 安新县| 巴南区| 洪泽县| 章丘市|