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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

springboot 控制台输出错误信息_springboot日志详解

發布時間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 springboot 控制台输出错误信息_springboot日志详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. 主流日志框架

市場上存在非常多的日志框架。 JUL(java.util.logging),JCL(Apache Commons Logging),Log4j,Log4j2,Logback、 SLF4j、 jboss-logging等。 Spring Boot在框架內容部使用JCL,spring-boot-starter-logging采用了 slf4j+logback的形式,Spring Boot也能自動適配(jul、 log4j2、 logback) 并 簡化配置。

在寫log4j的兩種配置方式(xml和propertiies)時我就在想“為什么使用log4j時需要導入self4j、log4j和整合jar包”?

經過一番的周折之后,終于獲取到了答案,其實答案很簡單,日志分為兩類:日志門面和日志實現兩種,這兩個之間的關系相當于java中接口和實現類的關系,接下來對上面的日志框架做一下簡單的分類:

ble data-draft-node="block" data-draft-type="table" data-size="normal" data-row-style="normal">日志門面日志實現

他們之間不是一一對應關系,只是這樣寫看起來美觀點。

二、日志的使用

  • SpringBoot:底層是Spring框架,Spring框架默認是用JCL
  • SpringBoot選用SLF4j和logback
  • 以后開發的時候,日志記錄方法的調用,不應該來直接調用日志的實現類,而是調用日志抽象層里面的方法;給系統里面導入slf4j的jar和logback的實現jar
public class HelloWorld {Logger logger = LoggerFactory.getLogger(HelloWorld.class); }

1、jar包的引入

從上面可知,導入日志需要在上面表中選擇一個日志門面和一個日志實現。下面以Slf4j為例展示其對應關系如下:

這里又有一個問題,springboot默認使用SLF4j和logback,底層spring默認使用JCL,然后如果導入了Hibernate(jboss-logging),如何使別的框架和我一起統一使用slf4j進行輸出?

查看Slf4j的官方文檔時,確實有解決方法,如下:

其解決思路如下:

  • 將系統中其他日志框架先排除出去;
  • 用中間包來替換原有的日志框架;
  • 我們導入slf4j其他的實現

springboot中的日志關系

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring‐boot‐starter</artifactId> </dependency>

總結:

  • SpringBoot底層也是使用slf4j+logback的方式進行日志記錄
  • SpringBoot也把其他的日志都替換成了slf4j;
  • 中間替換包如:log4j-to-slf4j.jar...
<!--移除JCL日志框架--> <dependency><groupId>org.springframework</groupId><artifactId>spring‐core</artifactId><exclusions><exclusion><groupId>commons‐logging</groupId><artifactId>commons‐logging</artifactId></exclusion></exclusions> </dependency>

springboot的處理方法和上面的圖解如出一轍,先把其它都轉換為Slf4j,支持多種日志實現。springboot2.1.6.RELEASE默認導入了Slf4j、logback和log4j,因此你不需要導入日志的相關jar包就可以使用日志的功能!

2、配置文件的編寫

  • 每一個日志的實現框架都有自己的配置文件。使用slf4j以后,配置文件還是做成日志實現框架自己本身的配置文 件;
  • log4j的配置文件請參考: https://javacfox.github.io/2019/06/28/Log4j%E6%97%A5%E5%BF%97%E9%85%8D%E7%BD%AE/
  • logback的配置文件請參考:
#指定日志配置文件路徑 # logging.config=classpath:/logback-spring.xml# 日志文件存放路徑 #logging.path=/spring/log# 指定日志文件名 # logging.file=my.log# 歷史日志文件的最大保存量 # logging.file.max-history=100000# 指定日志打印級別,可以配置多個 #logging.level.com.hiberate.orcal_and_hiberate=debug ## ### 日志文件最大空間 ##logging.file.max-size=10M# 日志輸出格式: # %d表示日期時間, # %thread表示線程名, # %‐5level:級別從左顯示5個字符寬度 # %logger{50}表示logger名字最長50個字符,否則按照句點分割。 # %msg:日志消息, # %n是換行符# 日志控制臺打印格式 #logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level%logger{50}-%msg%n # ## 日志輸出的時間格式 #logging.pattern.dateformat=%d{yyyy-MM-dd HH:mm:ss.SSS} # ## 日志輸出到文件中的格式 #logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS}[%thread]%-5level%logger{50}-%msg%n # ## 在輸出日志中添加輸出級別 #logging.pattern.level=%5p # #logging.exception-conversion-word=%wEx

總結

以上是生活随笔為你收集整理的springboot 控制台输出错误信息_springboot日志详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。