原文地址:https://blog.csdn.net/u011271894/article/details/75735915
又過了一天,研究spring boot的學習還得繼續,今天說點啥呢?spring boot整合slf4j-log日志,不得不吐槽spring boot按照它默認的方式太難控制了,或許這也是他的敏捷之處(不要自定義,按我的做就行),可是我不喜歡.好了,說事
spring boot的對於一些自定義的配置,一般都會提供application.properties和自定義xml文件的配置,log也不例外,
我們先看看pom.xml中的配置吧!如果之前有添加
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter</artifactId>
-
</dependency>
這里可以不同添加了,因為里面已經包含
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-logging</artifactId>
-
</dependency>
接下來我們先看看application.properties方式的配置吧,
-
#日志相關配置
-
logging.level.root=INFO
-
logging.level.org.springframework.web=DEBUG
-
logging.level.org.hibernate=ERROR
-
logging.path=/home/_xyy_/output/SpringBootDemo/logs
-
#logging.file=demo.log
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.xmlspring boot默認載入的相關配置文件,詳見jar包;spring-boot-1.*.*.RELEASE.jar下面
org/springframework/boot/logging/logback/
詳細文件:
base.xml //基礎包,引用了下面所有的配置文件
console-appender.xml //控制台輸出配置
defaults.xml //默認的日志文件配置
file-appender.xml //文件輸出配置
logback.xml詳細代碼:
-
-
<configuration>
-
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
-
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
-
<encoder>
-
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
-
<charset>UTF-8</charset>
-
</encoder>
-
</appender>
-
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
-
<file>/home/_xyy_/output/SpringBootDemo/logs/stdout.log</file>
-
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
-
<!-- daily rollover 保存歷史記錄到這個文件夾一日起為后綴 -->
-
<fileNamePattern>/home/_xyy_/output/SpringBootDemo/logs/stdout.log.%d{yyyy-MM-dd}.log</fileNamePattern>
-
<!-- keep 30 days' worth of history -->
-
<maxHistory>30</maxHistory>
-
</rollingPolicy>
-
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
-
<maxFileSize>10MB</maxFileSize>
-
</triggeringPolicy>
-
<encoder>
-
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
-
<charset>UTF-8</charset> <!-- 此處設置字符集 -->
-
</encoder>
-
</appender>
-
<root level="INFO">
-
<appender-ref ref="CONSOLE"></appender-ref>
-
<appender-ref ref="FILE"></appender-ref>
-
</root>
-
</configuration>
對spring整合slf4j的同學應該不會陌生吧....講的有點粗糙,反正我不喜歡用,一路走來,大坑小坑無數.自己記錄下,有需要完善的地方還希望大伙留言提出!
private static Logger log= LoggerFactory.getLogger(QuartzJob.class);
log.info("ceshia ");