亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

在SpringBoot中使用Logback管理記錄日志

2024-07-14 08:40:57
字體:
來源:轉載
供稿:網友

SpringBoot的默認日志配置

SpringBoot 開箱即用,默認幫你配置了日志框架,使用 Commons Logging ,但是默認配置也提供了對常用日志的支持,如: Java Util Logging , Log4J , Log4J2 和 Logback。每種Logger都可以通過配置使用控制臺或者文件輸出日志內容。

控制臺輸出

關于log日志,首先說說的5個日志級別 LEVEL: 從高到低分別是 ERROR WARN 、 INFO DEBUG 、 TRACE 低級別的會輸出高級別信息,高級別不會輸出低級別信息。例如:等級設為 ERROR 的話, WARN 、 INFO DEBUG 的信息是不會輸出的。 在 SpringBoot 中默認配置了 ERROR WARNINFO 級別的日志輸出到控制臺。 Logback中沒有 FATAL 級別,它會被當作 ERROR 級別來處理。

我們可以通過兩種方式切換至 DEBUG 級別:

  1. 在運行命令后加入 --debug 標志,如: $ java -jar myapp.jar --debug
  2. application.properties 中配置 debug=true ,該屬性置為true的時候,核心Logger(包含嵌入式容器、hibernate、spring)會輸出更多內容,但是你自己應用的日志并不會輸出為DEBUG級別。

多彩輸出

SpringBoot 從1.4.0版本開始支持彩色日志輸出了。 如果你的終端支持ANSI,設置彩色輸出會讓日志更具可讀性。通過在 application.properties 中設置 spring.output.ansi.enabled 參數來支持。

  1. NEVER :禁用ANSI-colored輸出(默認項)
  2. DETECT :會檢查終端是否支持ANSI,是的話就采用彩色輸出(推薦項)
  3. ALWAYS :總是使用ANSI-colored格式輸出,若終端不支持的時候,會有很多干擾信息,不推薦使用

文件輸出

SpringBoot 默認配置只會輸出到控制臺,并不會記錄到文件中,但是我們通常生產環境使用時都需要以文件方式記錄。

若要增加文件輸出,需要在 application.properties 中配置 logging.file logging.path 屬性。

  1. logging.file :設置文件,可以是絕對路徑,也可以是相對路徑。如: logging.file=my.log
  2. logging.path :設置目錄,會在該目錄下創建spring.log文件,并寫入日志內容,如: logging.path=/var/log

日志文件會在10Mb大小的時候被截斷,產生新的日志文件,默認級別為:ERROR、WARN、INFO

級別控制

在 SpringBoot 中只需要在 application.properties 中進行配置完成日志記錄的級別控制。

配置格式: logging.level.*=LEVEL

  1. logging.level :日志級別控制前綴, * 為包名或Logger名
  2. LEVEL :選項TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

舉例:

  1. logging.level.com.controller=DEBUG : com.controller 包下所有class以 DEBUG 級別輸出
  2. logging.level.root=WARN :root日志以 WARN 級別輸出

自定義日志配置

如果不想使用默認配置,只要加入自己的日志配置文件就行了。 由于日志服務一般都在 ApplicationContext 創建前就初始化了,它并不是必須通過 Spring 的配置文件控制。因此通過系統屬性和傳統的 Spring Boot 外部配置文件依然可以很好的支持日志控制和管理。

根據不同的日志系統,你可以按如下規則組織配置文件名,就能被正確加載:

  1. Logback: logback-spring.xml , logback-spring.groovy , logback.xml , logback.groovy
  2. Log4j: log4j-spring.properties , log4j-spring.xml , log4j.properties , log4j.xml
  3. Log4j2: log4j2-spring.xml , log4j2.xml
  4. JDK (Java Util Logging): logging.properties

SpringBoot 官方推薦優先使用帶有 -spring 的文件名作為你的日志配置(如使用 logback-spring.xml ,而不是 logback.xml )

自定義輸出格式

在 SpringBoot 中可以通過在 application.properties 配置如下參數控制輸出格式:

  1. logging.pattern.console :定義輸出到控制臺的樣式(不支持JDK Logger)
  2. logging.pattern.file :定義輸出到文件的樣式(不支持JDK Logger)

也可以直接在日志配置文件中定義這些格式,而不是在應用配置文件中。

常用的Logback配置文件模板

<?xml version="1.0" encoding="UTF-8"?><configuration> <!--定義日志文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> <property name="LOG_HOME" value="d:/logs"/> <!-- 彩色日志依賴的渲染類 --> <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/> <conversionRule conversionWord="wex"     converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/> <conversionRule conversionWord="wEx"     converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/> <!-- 彩色日志格式 --> <property name="CONSOLE_LOG_PATTERN"    value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(--){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> <!-- Console 輸出設置 --> <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日志消息,%n是換行符--> <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>--> <pattern>${CONSOLE_LOG_PATTERN}</pattern> <charset>utf8</charset> </encoder> </appender> <!-- 按照每天生成日志文件 --> <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">  <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">   <!--日志文件輸出的文件名-->   <fileNamePattern>${LOG_HOME}/mixedSys.%d{yyyy-MM-dd}.log</fileNamePattern>  </rollingPolicy>  <encoder>   <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>  </encoder> </appender> <!-- 日志logger(包.類)的輸出級別 --> <logger name="org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver" level="DEBUG" > <appender-ref ref="console" /> <appender-ref ref="file" /> </logger> <logger name="org.springframework.boot" level="DEBUG"/> <!-- 為 Hibernate sql 定制 --> <!-- <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" /> <logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" /> <logger name="org.hibernate.SQL" level="DEBUG" /> <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" /> <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> --> <!-- 日志輸出級別 --> <root level="INFO"> <!-- 此時debug級別的信息會被過濾 -->   <appender-ref ref="console" />   <appender-ref ref="file" />  </root>   <!--日志異步到數據庫 -->  <!-- <appender name="DB" class="ch.qos.logback.classic.db.DBAppender">   日志異步到數據庫   <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">    連接池    <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">     <driverClass>com.mysql.jdbc.Driver</driverClass>     <url>jdbc:mysql://127.0.0.1:3306/databaseName</url>     <user>root</user>     <password>root</password>    </dataSource>   </connectionSource>  </appender> --> </configuration>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品久久亚洲高清不卡| 久久久久久午夜| 国产精品视频网站| 96pao国产成视频永久免费| 亚洲欧洲国产精品| 精品高清一区二区三区| 国产精品高潮粉嫩av| 国产精品美女主播| 精品久久久久久久久久久久久| 精品免费在线视频| 国产欧美精品在线| 最近2019年中文视频免费在线观看| 欧美激情区在线播放| 欧美日韩国产激情| 日韩欧美国产网站| 91福利视频在线观看| 亚洲综合中文字幕在线| 丝袜美腿精品国产二区| 久久久亚洲影院| 亚洲成av人片在线观看香蕉| 97超视频免费观看| 精品国产一区av| 亚洲国产欧美一区二区三区久久| 欧美成人精品一区二区| 欧美中文字幕精品| 欧美亚洲视频在线看网址| 国产精品久久久久久婷婷天堂| 国产欧美久久一区二区| 国产一区av在线| 在线电影欧美日韩一区二区私密| 精品国产美女在线| 久久精品国产亚洲| 久久九九全国免费精品观看| 国语自产精品视频在线看| 日韩中文综合网| 91精品美女在线| 亚洲精品久久久久国产| 国产91在线视频| 久久视频这里只有精品| 久久精品99国产精品酒店日本| 亚洲男人天堂手机在线| 亚洲福利视频免费观看| 国产日韩视频在线观看| 欧美一区二区三区四区在线| 亚洲视频在线观看视频| 麻豆精品精华液| 亚洲影院色在线观看免费| 91在线网站视频| 精品久久中文字幕久久av| 国产丝袜一区视频在线观看| 亚洲第一视频在线观看| 亚洲精品视频在线观看视频| 亚州欧美日韩中文视频| 久久久av免费| 最近2019中文免费高清视频观看www99| 日韩精品中文字幕有码专区| 亚洲区中文字幕| 91久久精品国产91性色| 成人免费在线视频网址| 亚洲wwwav| 久久免费视频在线观看| 国产精品99免视看9| 亚洲欧美国产va在线影院| 国产啪精品视频网站| 亚洲国产黄色片| 欧美中文字幕在线| 欧美在线免费看| 日韩免费在线播放| 91网站免费看| 国产精品视频中文字幕91| 欧洲成人免费aa| 韩国精品美女www爽爽爽视频| 国产在线视频欧美| 96国产粉嫩美女| 国产欧美日韩中文字幕在线| 国产亚洲精品日韩| 黑人欧美xxxx| 亚洲第一福利网站| 2019中文字幕在线免费观看| 亚洲日本欧美中文幕| 久久久久久久999| 亚洲成人精品久久| 亚洲另类欧美自拍| 欧美成年人网站| 欧美高清性猛交| 欧美激情小视频| 欧美理论片在线观看| 亚洲国产精品久久久久| 亚洲精品电影网| 国产日韩一区在线| 国产精品久久久久av免费| 国产精品av免费在线观看| 国产精品99久久久久久白浆小说| 日韩av中文字幕在线免费观看| 国产九九精品视频| 日韩精品在线电影| 亚洲黄色av网站| 亚洲欧美国内爽妇网| 国产一区玩具在线观看| 欧美极品第一页| 国产亚洲一区二区在线| 亚洲人成网站免费播放| 久久视频在线播放| 色偷偷88888欧美精品久久久| 亚洲国内精品视频| 亚洲第一中文字幕在线观看| 国产欧美精品va在线观看| 97精品伊人久久久大香线蕉| 亚洲美女久久久| 中文字幕国产亚洲2019| 亚洲欧美变态国产另类| 国精产品一区一区三区有限在线| 欧美三级欧美成人高清www| 91在线观看免费高清完整版在线观看| 亚洲韩国青草视频| 欧美日韩激情网| 日韩av在线影院| 国产丝袜一区视频在线观看| 国产中文日韩欧美| 精品亚洲男同gayvideo网站| 亚洲综合一区二区不卡| 欧美高清视频一区二区| 黑人巨大精品欧美一区二区| 夜夜狂射影院欧美极品| 国产精品亚洲精品| 欧美激情欧美激情在线五月| 91久久综合亚洲鲁鲁五月天| 欧美成人免费在线视频| zzjj国产精品一区二区| 亚洲免费成人av电影| 久久久欧美精品| 日本不卡高字幕在线2019| 亚洲国产精品悠悠久久琪琪| 国产精品一区电影| 欧美午夜精品在线| 欧美精品国产精品日韩精品| 欧美国产精品日韩| 尤物九九久久国产精品的特点| 成人亲热视频网站| 国产一区二区三区日韩欧美| 日韩大片免费观看视频播放| 国产精品丝袜久久久久久不卡| 九九久久久久久久久激情| 日韩欧美a级成人黄色| 欧美中文字幕视频| 超碰97人人做人人爱少妇| 日韩欧美极品在线观看| 日韩欧美中文字幕在线观看| 色综合伊人色综合网| 成人免费直播live| 午夜精品福利视频| 精品福利樱桃av导航| 日韩精品免费在线| 国产一区二区三区在线观看视频| 日韩激情片免费| 精品福利在线视频| 欧美日韩爱爱视频| 亚洲一区免费网站| 国产成人精品免费视频| www.99久久热国产日韩欧美.com| 欧美电影在线观看高清| 夜夜躁日日躁狠狠久久88av| 91久久精品国产| 精品人伦一区二区三区蜜桃网站|