spring boot整合slf4j-log日志


原文地址:https://blog.csdn.net/u011271894/article/details/75735915

 

版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/u011271894/article/details/75735915

又過了一天,研究spring boot的學習還得繼續,今天說點啥呢?spring boot整合slf4j-log日志,不得不吐槽spring boot按照它默認的方式太難控制了,或許這也是他的敏捷之處(不要自定義,按我的做就行),可是我不喜歡再見.好了,說事

 

spring boot的對於一些自定義的配置,一般都會提供application.properties和自定義xml文件的配置,log也不例外,

我們先看看pom.xml中的配置吧!如果之前有添加

 

  1.  
    <dependency>
  2.  
    <groupId>org.springframework.boot</groupId>
  3.  
    <artifactId>spring-boot-starter</artifactId>
  4.  
    </dependency>

這里可以不同添加了,因為里面已經包含

 

 

  1.  
    <dependency>
  2.  
    <groupId>org.springframework.boot</groupId>
  3.  
    <artifactId>spring-boot-starter-logging</artifactId>
  4.  
    </dependency>
沒有的就加上吧!二選一皆可!

 

接下來我們先看看application.properties方式的配置吧,

 

  1.  
    #日志相關配置
  2.  
    logging.level.root=INFO
  3.  
    logging.level.org.springframework.web=DEBUG
  4.  
    logging.level.org.hibernate=ERROR
  5.  
    logging.path=/home/_xyy_/output/SpringBootDemo/logs
  6.  
    #logging.file=demo.log
講解:logging.level.root相當於以往spring配置log4j.xml中的root級別

 

logging.org.springFramework.web具體服務的日志級別

logging.path:日志的輸出路徑

logging.file:輸出的日志文件

注(大坑):

1:logging.path和logging.file不可以同時配置,同時配置也只有logging.file起效

2:配置logging.path將會在指定文件夾下面生成spring.log文件,文件名字無法控制

3:配置logging.file,如果只是文件名如:demo.log只會在項目的根目錄下生成指定文件名的日志文件,,如果想控制日志路徑,可以選擇完整路徑

如:E:\\demo\\demo.log

接下來看看自定義配置文件,這個就要方便很多了,還是喜歡自定義配置文件的方式

在src/main/resources下面新建文件logback.xml這個也是spring boot默認的配置文件名,

如果需要自定義文件名,如:logback-test.xml需要在application.properties添加配置

 

logging.config=classpath:logback-test.xml
spring boot默認載入的相關配置文件,詳見jar包;spring-boot-1.*.*.RELEASE.jar下面

 

org/springframework/boot/logging/logback/

詳細文件:

base.xml      //基礎包,引用了下面所有的配置文件

console-appender.xml    //控制台輸出配置

defaults.xml                      //默認的日志文件配置

file-appender.xml            //文件輸出配置

 

logback.xml詳細代碼:

 

  1.  
    <?xml version="1.0" encoding="UTF-8"?>
  2.  
    <configuration>
  3.  
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
  4.  
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
  5.  
    <encoder>
  6.  
    <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
  7.  
    <charset>UTF-8</charset>
  8.  
    </encoder>
  9.  
    </appender>
  10.  
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
  11.  
    <file>/home/_xyy_/output/SpringBootDemo/logs/stdout.log</file>
  12.  
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
  13.  
    <!-- daily rollover 保存歷史記錄到這個文件夾一日起為后綴 -->
  14.  
    <fileNamePattern>/home/_xyy_/output/SpringBootDemo/logs/stdout.log.%d{yyyy-MM-dd}.log</fileNamePattern>
  15.  
    <!-- keep 30 days' worth of history -->
  16.  
    <maxHistory>30</maxHistory>
  17.  
    </rollingPolicy>
  18.  
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
  19.  
    <maxFileSize>10MB</maxFileSize>
  20.  
    </triggeringPolicy>
  21.  
    <encoder>
  22.  
    <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
  23.  
    <charset>UTF-8</charset> <!-- 此處設置字符集 -->
  24.  
    </encoder>
  25.  
    </appender>
  26.  
    <root level="INFO">
  27.  
    <appender-ref ref="CONSOLE"></appender-ref>
  28.  
    <appender-ref ref="FILE"></appender-ref>
  29.  
    </root>
  30.  
    </configuration>

對spring整合slf4j的同學應該不會陌生吧.再見...講的有點粗糙,反正我不喜歡用,一路走來,大坑小坑無數.自己記錄下,有需要完善的地方還希望大伙留言提出!微笑

 
 
 
 
代碼中寫日志:
 
private static Logger log= LoggerFactory.getLogger(QuartzJob.class);


  log.info("ceshia ");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM