日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringNBoot日志配置

發(fā)布時間:2023/12/13 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringNBoot日志配置 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

市面上的日志框架

日志門面 (日志的抽象層)日志門面 (日志的抽象層)
JCL(Jakarta Commons Logging
SLF4j(Simple Logging Facade for Java)
jboss-loggi
JUL(java.util.logging)
Log4j
Log4j2
Logback

左邊選一個門面(抽象層);右邊選一個實現(xiàn)

SLF4J使用

系統(tǒng)中使用SLF4j

  • 以后開發(fā)的時候,日志記錄方法的調(diào)用,不應(yīng)該來直接調(diào)用日志的實現(xiàn)類,而是調(diào)用日志抽象層里面的方法;
  • 給系統(tǒng)導(dǎo)入slf4j和logback的實現(xiàn)jar import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class HelloWorld {public static void main(String[] args) {Logger logger = LoggerFactory.getLogger(HelloWorld.class);logger.info("Hello World");} }

每個日志的框架都有自己的配置文件。使用slf4j以后,配置文件還是做成日志實現(xiàn)框架自己本身的配置文件

日志兼容問題?

  • 項目依賴的框架使用不同的日志
  • 當(dāng)項目使用多種日志API時,可以同一適配到SLF4J,中間使用SLF4J或者第三方提供的日志適配器,從而適配到SLF4J,SLF4J在底層享用的一個日志框架來進(jìn)行日志系統(tǒng)的實現(xiàn),從而達(dá)到多種日志的統(tǒng)一實現(xiàn)。

如何統(tǒng)一日志,將所有的日志都統(tǒng)一到SLF4J

  • 將系統(tǒng)中其他日志框架先排除出去;
  • 用中間包來替換原有的日志框架(適配器的類名和包名與替換的被日志框架一致);
  • 我們導(dǎo)入slf4j其他的實現(xiàn)
  • 底層依賴關(guān)系

  • SpringBoot底層也是使用slf4J和logback的方式進(jìn)行日志記錄
  • SpringBoot也把其他的日志替換成了slf4j
  • 當(dāng)我們引入其他框架的時候,需要刪除這個框架依賴的日志框架
  • 日志的使用

    默認(rèn)配置

    //記錄器Logger logger = LoggerFactory.getLogger(getClass());@Testpublic void contextLoads() {//System.out.println();//日志的級別;//由低到高 trace<debug<info<warn<error//可以調(diào)整輸出的日志級別;日志就只會在這個級別以以后的高級別生效logger.trace("這是trace日志...");logger.debug("這是debug日志...");//SpringBoot默認(rèn)給我們使用的是info級別的,沒有指定級別的就用SpringBoot默認(rèn)規(guī)定的級別;root級別logger.info("這是info日志...");logger.warn("這是warn日志...");logger.error("這是error日志...");} 日志輸出格式:%d表示日期時間,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%logger{50} 表示logger名字最長50個字符,否則按照句點分割。 %msg:日志消息,%n是換行符-->%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

    SpringBoot修改日志的默認(rèn)設(shè)置

    # 也可以指定一個包路徑 logging.level.com.xxx=error logging.level.root=error#logging.path= # 不指定路徑在當(dāng)前項目下生成springboot.log日志 # 可以指定完整的路徑; #logging.file=G:/springboot.log# 在當(dāng)前磁盤的根路徑下創(chuàng)建spring文件夾和里面的log文件夾;使用 spring.log 作為默認(rèn)文件 logging.path=/spring/log# 在控制臺輸出的日志的格式 logging.pattern.console=%d{yyyy-MM-dd} [%thread] %-5level %logger{50} - %msg%n # 指定文件中日志輸出的格式 logging.pattern.file=%d{yyyy-MM-dd} === [%thread] === %-5level === %logger{50} ==== %msg%n logging.filelogging.pathExampleDescription
    (none)(none)?只在控制臺輸出
    指定文件名(none)my.log輸出日志到my.log文件
    (none)指定目錄/var/log輸出到指定目錄的 spring.log 文件中

    ?指定配置

    • 給類路徑下放上每個日志框架的自己的配置文件即可
    • SpringBoot就不需要使用其他配置了
    • logback.xml:直接被日志框架識別
    • logback-spring.xml:日志框架就不直接加載日志配置項,由SpringBoot解析日志配置,可以使用SpringBoot的高級Profile功能
    • 如果使用logback.xml作為日志的配置文件,還需要使用profile功能,否則會報錯
    Logging SystemCustomization
    Logbacklogback-spring.xml,?logback-spring.groovy,?logback.xml?or?logback.groovy
    Log4j2log4j2-spring.xml?or?log4j2.xml
    JDK (Java Util Logging)logging.properties

    ?

    總結(jié)

    以上是生活随笔為你收集整理的SpringNBoot日志配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。