摘要:嘗試檢測著色功能是否可用。禁用顏色的輸出。目前支持的顏色有文件保存默認情況下,僅將日志輸出到控制臺,不會寫入到日志文件中去。如果除了控制臺輸出之外還想寫日志文件,則需要在設置或屬性。默認情況它會根據日志的依賴自動加載。
SpringBoot 是為了簡化 Spring 應用的創(chuàng)建、運行、調試、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業(yè)務本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關的依賴就可以輕易的搭建出一個 WEB 工程
Spring Boot 內部采用的是 Commons Logging進行日志記錄,但在底層為 Java Util Logging、Log4J2、Logback 等日志框架提供了默認配置 。
Java 雖然有很多可用的日志框架,但請不要擔心,一般來說,使用 SpringBoot 默認的 Logback 就可以了。日志格式
SpringBoot 的默認輸出的日志格式如下:
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
分隔符:采用 --- 來標識日志開始部分
線程名:方括號括起來(可能會截斷控制臺輸出)
Logger名:通常使用源代碼的類名
日志內容:我們輸出的消息
日志輸出SpringBoot 默認為我們輸出的日志級別為 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,默認情況下會給日志上個色,提高可讀性,可以在配置文件中設置 spring.output.ansi.enabled 來改變默認值
ALWAYS: 啟用 ANSI 顏色的輸出。
DETECT: 嘗試檢測 ANSI 著色功能是否可用。
NEVER: 禁用 ANSI 顏色的輸出。
編碼對照表Level | Color |
---|---|
WARN | Yellow |
FATAL、ERROR | Red |
INFO、DEBUG、TRACE | Green |
如果想修改日志默認色值,可以通過使用 %clr 關鍵字轉換。比如想使文本變?yōu)辄S色 %clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){yellow}。目前支持的顏色有(blue、cyan、faint、green、magenta、red、yellow)
文件保存默認情況下,SpringBoot 僅將日志輸出到控制臺,不會寫入到日志文件中去。如果除了控制臺輸出之外還想寫日志文件,則需要在application.properties 設置logging.file 或 logging.path 屬性。
logging.file: 將日志寫入到指定的 文件 中,默認為相對路徑,可以設置成絕對路徑
logging.path: 將名為 spring.log 寫入到指定的 文件夾 中,如(/var/log)
日志文件在達到 10MB 時進行切割,產生一個新的日志文件(如:spring.1.log、spring.2.log),新的日志依舊輸出到 spring.log 中去,默認情況下會記錄 ERROR、WARN、INFO 級別消息。
logging.file.max-size: 限制日志文件大小
logging.file.max-history: 限制日志保留天數
自定義日志配置由于日志在 ApplicationContext 之前就初始化好了,所以 SpringBoot 為我們提供了 logging.config 屬性,方便我們配置自定義日志文件。默認情況它會根據日志的依賴自動加載。
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 或者設置 logging.config 屬性的文件,因為 logback.xml 加載過早,因此無法獲取 SpringBoot 的一些擴展屬性
使用擴展屬性 springProfile 與 springProperty 讓你的 logback-spring.xml 配置顯得更有逼格,當別人還在苦苦掙扎弄logback-{profile}.xml的時候 你一個文件就搞定了...
springProfile案例
springProperty
總結logs/${logName}.log
更多細節(jié)請參考官方文檔:https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/reference/htmlsingle/#boot-features-custom-log-configuration
目前很多大佬都寫過關于 SpringBoot 的教程了,如有雷同,請多多包涵,本教程基于最新的 spring-boot-starter-parent:2.0.1.RELEASE編寫,包括新版本的特性都會一起介紹...
說點什么個人QQ:1837307557
battcn開源群(適合新手):391619659
微信公眾號(歡迎調戲):battcn
個人博客:http://blog.battcn.com/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71366.html
摘要:另一種就是用中的位于包下,本質是由和實現(xiàn)的阻塞優(yōu)先級隊列。表明了一條消息可在隊列中存活的最大時間。當某條消息被設置了或者當某條消息進入了設置了的隊列時,這條消息會在時間后死亡成為。 SpringBoot 是為了簡化 Spring 應用的創(chuàng)建、運行、調試、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業(yè)務本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關的依賴就可...
摘要:本文介紹如何在中使用默認的聲明式緩存定義和接口用來統(tǒng)一不同的緩存技術。在使用集成的時候,我們需要注冊實現(xiàn)的的。默認使用在我們不使用其他第三方緩存依賴的時候,自動采用作為緩存管理器。源碼下載參考資料揭秘與實戰(zhàn)二數據緩存篇快速入門 本文介紹如何在springboot中使用默認的spring cache 聲明式緩存 Spring 定義 CacheManager 和 Cache 接口用來統(tǒng)一不...
摘要:這篇文篇將介紹,如何通過整合數據庫鏈接池實時監(jiān)控數據庫鏈接信息,為優(yōu)化數據庫性能提供更好的指導,同樣將通過配置文件形式進行配置方便簡潔。 這篇文篇將介紹,如何通過SpringBoot整合Druid數據庫鏈接池,實時監(jiān)控數據庫鏈接信息,為優(yōu)化數據庫性能提供更好的指導,同樣將通過YML配置文件形式進行配置,方便簡潔。 準備工作 環(huán)境: windows jdk 8 maven 3.0 IDE...
摘要:本文介紹通過訪問關系型通過的去訪問。通過引入這些依賴和配置一些基本信息,就可以訪問數據庫類。具體編碼實體類省略了層具體的實現(xiàn)類層具體實現(xiàn)類構建一組來展示可以通過來測試,具體的我已經全部測試通過,沒有任何問題。注意構建的風格。 本文介紹springboot通過jdbc訪問關系型mysql,通過spring的JdbcTemplate去訪問。 準備工作 jdk 1.8 maven 3.0 i...
閱讀 3652·2021-09-02 15:11
閱讀 4563·2021-08-16 10:47
閱讀 1560·2019-08-29 18:35
閱讀 3030·2019-08-28 17:54
閱讀 2843·2019-08-26 11:37
閱讀 1496·2019-08-23 16:51
閱讀 1799·2019-08-23 14:36
閱讀 1801·2019-08-23 14:21