spring boot整合slf4j-log日志
原文地址: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 ");