摘要:嘗試檢測著色功能是否可用。禁用顏色的輸出。目前支持的顏色有文件保存默認(rèn)情況下,僅將日志輸出到控制臺,不會寫入到日志文件中去。如果除了控制臺輸出之外還想寫日志文件,則需要在設(shè)置或?qū)傩?。默認(rèn)情況它會根據(jù)日志的依賴自動加載。
SpringBoot 是為了簡化 Spring 應(yīng)用的創(chuàng)建、運行、調(diào)試、部署等一系列問題而誕生的產(chǎn)物,自動裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關(guān)的依賴就可以輕易的搭建出一個 WEB 工程
Spring Boot 內(nèi)部采用的是 Commons Logging進行日志記錄,但在底層為 Java Util Logging、Log4J2、Logback 等日志框架提供了默認(rèn)配置 。
Java 雖然有很多可用的日志框架,但請不要擔(dān)心,一般來說,使用 SpringBoot 默認(rèn)的 Logback 就可以了。日志格式
SpringBoot 的默認(rèn)輸出的日志格式如下:
2014-03-05 10:57:51.112 INFO 45469 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/7.0.52 2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2014-03-05 10:57:51.253 INFO 45469 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1358 ms 2014-03-05 10:57:51.698 INFO 45469 --- [ost-startStop-1] o.s.b.c.e.ServletRegistrationBean : Mapping servlet: "dispatcherServlet" to [/] 2014-03-05 10:57:51.702 INFO 45469 --- [ost-startStop-1] o.s.b.c.embedded.FilterRegistrationBean : Mapping filter: "hiddenHttpMethodFilter" to: [/*]
輸出如下元素:
Logback 是沒有 FATAL級別的日志,它將被映射到 ERROR
時間日期:精確到毫秒,可以用于排序
日志級別:ERROR、WARN、INFO、DEBUG、TRACE
進程ID
分隔符:采用 --- 來標(biāo)識日志開始部分
線程名:方括號括起來(可能會截斷控制臺輸出)
Logger名:通常使用源代碼的類名
日志內(nèi)容:我們輸出的消息
日志輸出SpringBoot 默認(rèn)為我們輸出的日志級別為 INFO、WARN、ERROR,如需要輸出更多日志的時候,可以通過以下方式開啟
命令模式配置: java -jar app.jar --debug=true , 這種命令會被 SpringBoot 解析,且優(yōu)先級最高
資源文件配置: application.properties 配置 debug=true 即可。該配置只對 嵌入式容器、Spring、Hibernate生效,我們自己的項目想要輸出 DEBUG 需要額外配置(配置規(guī)則:logging.level.
日志輸出級別配置
logging.level.root = WARN logging.level.org.springframework.web = DEBUG logging.level.org.hibernate = ERROR #比如 mybatis sql日志 logging.level.org.mybatis = INFO logging.level.mapper所在的包 = DEBUG
日志輸出格式配置
logging.pattern.console: 定義輸出到控制臺的格式(不支持JDK Logger)
logging.pattern.file: 定義輸出到文件的格式(不支持JDK Logger)
顏色編碼如果終端支持 ANSI,默認(rèn)情況下會給日志上個色,提高可讀性,可以在配置文件中設(shè)置 spring.output.ansi.enabled 來改變默認(rèn)值
ALWAYS: 啟用 ANSI 顏色的輸出。
DETECT: 嘗試檢測 ANSI 著色功能是否可用。
NEVER: 禁用 ANSI 顏色的輸出。
編碼對照表Level | Color |
---|---|
WARN | Yellow |
FATAL、ERROR | Red |
INFO、DEBUG、TRACE | Green |
如果想修改日志默認(rèn)色值,可以通過使用 %clr 關(guān)鍵字轉(zhuǎn)換。比如想使文本變?yōu)辄S色 %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}。目前支持的顏色有(blue、cyan、faint、green、magenta、red、yellow)
文件保存默認(rèn)情況下,SpringBoot 僅將日志輸出到控制臺,不會寫入到日志文件中去。如果除了控制臺輸出之外還想寫日志文件,則需要在application.properties 設(shè)置logging.file 或 logging.path 屬性。
logging.file: 將日志寫入到指定的 文件 中,默認(rèn)為相對路徑,可以設(shè)置成絕對路徑
logging.path: 將名為 spring.log 寫入到指定的 文件夾 中,如(/var/log)
日志文件在達到 10MB 時進行切割,產(chǎn)生一個新的日志文件(如:spring.1.log、spring.2.log),新的日志依舊輸出到 spring.log 中去,默認(rèn)情況下會記錄 ERROR、WARN、INFO 級別消息。
logging.file.max-size: 限制日志文件大小
logging.file.max-history: 限制日志保留天數(shù)
自定義日志配置由于日志在 ApplicationContext 之前就初始化好了,所以 SpringBoot 為我們提供了 logging.config 屬性,方便我們配置自定義日志文件。默認(rèn)情況它會根據(jù)日志的依賴自動加載。
Logging System | Customization |
---|---|
JDK (Java Util Logging) | logging.properties |
Log4j2、ERROR | log4j2-spring.xml 或 log4j2.xml |
Logback | logback-spring.xml、logback-spring.groovy、logback.xml、logback.groovy |
該擴展配置僅適用 logback-spring.xml 或者設(shè)置 logging.config 屬性的文件,因為 logback.xml 加載過早,因此無法獲取 SpringBoot 的一些擴展屬性
使用擴展屬性 springProfile 與 springProperty 讓你的 logback-spring.xml 配置顯得更有逼格,當(dāng)別人還在苦苦掙扎弄logback-{profile}.xml的時候 你一個文件就搞定了...
springProfile案例
springProperty
總結(jié)logs/${logName}.log
更多細節(jié)請參考官方文檔:https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/reference/htmlsingle/#boot-features-custom-log-configuration
目前很多大佬都寫過關(guān)于 SpringBoot 的教程了,如有雷同,請多多包涵,本教程基于最新的 spring-boot-starter-parent:2.0.1.RELEASE編寫,包括新版本的特性都會一起介紹...
說點什么個人QQ:1837307557
battcn開源群(適合新手):391619659
微信公眾號(歡迎調(diào)戲):battcn
個人博客:http://blog.battcn.com/
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/71366.html
摘要:另一種就是用中的位于包下,本質(zhì)是由和實現(xiàn)的阻塞優(yōu)先級隊列。表明了一條消息可在隊列中存活的最大時間。當(dāng)某條消息被設(shè)置了或者當(dāng)某條消息進入了設(shè)置了的隊列時,這條消息會在時間后死亡成為。 SpringBoot 是為了簡化 Spring 應(yīng)用的創(chuàng)建、運行、調(diào)試、部署等一系列問題而誕生的產(chǎn)物,自動裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關(guān)的依賴就可...
摘要:本文介紹如何在中使用默認(rèn)的聲明式緩存定義和接口用來統(tǒng)一不同的緩存技術(shù)。在使用集成的時候,我們需要注冊實現(xiàn)的的。默認(rèn)使用在我們不使用其他第三方緩存依賴的時候,自動采用作為緩存管理器。源碼下載參考資料揭秘與實戰(zhàn)二數(shù)據(jù)緩存篇快速入門 本文介紹如何在springboot中使用默認(rèn)的spring cache 聲明式緩存 Spring 定義 CacheManager 和 Cache 接口用來統(tǒng)一不...
摘要:這篇文篇將介紹,如何通過整合數(shù)據(jù)庫鏈接池實時監(jiān)控數(shù)據(jù)庫鏈接信息,為優(yōu)化數(shù)據(jù)庫性能提供更好的指導(dǎo),同樣將通過配置文件形式進行配置方便簡潔。 這篇文篇將介紹,如何通過SpringBoot整合Druid數(shù)據(jù)庫鏈接池,實時監(jiān)控數(shù)據(jù)庫鏈接信息,為優(yōu)化數(shù)據(jù)庫性能提供更好的指導(dǎo),同樣將通過YML配置文件形式進行配置,方便簡潔。 準(zhǔn)備工作 環(huán)境: windows jdk 8 maven 3.0 IDE...
摘要:本文介紹通過訪問關(guān)系型通過的去訪問。通過引入這些依賴和配置一些基本信息,就可以訪問數(shù)據(jù)庫類。具體編碼實體類省略了層具體的實現(xiàn)類層具體實現(xiàn)類構(gòu)建一組來展示可以通過來測試,具體的我已經(jīng)全部測試通過,沒有任何問題。注意構(gòu)建的風(fēng)格。 本文介紹springboot通過jdbc訪問關(guān)系型mysql,通過spring的JdbcTemplate去訪問。 準(zhǔn)備工作 jdk 1.8 maven 3.0 i...
閱讀 3704·2021-09-02 15:11
閱讀 4682·2021-08-16 10:47
閱讀 1595·2019-08-29 18:35
閱讀 3098·2019-08-28 17:54
閱讀 2878·2019-08-26 11:37
閱讀 1533·2019-08-23 16:51
閱讀 1845·2019-08-23 14:36
閱讀 1840·2019-08-23 14:21