spring boot整合slf4j-log日志
又过了一天,研究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=/home/_xyy_/output/SpringBootDemo/logs/stdout.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只会在项目的根目录下生成指定文件名的日志文件,,如果想控制日志路径,可以选择完整路径
如\\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详细代码:
<?xml version="1.0" encoding="UTF-8"?>
<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的同学应该不会陌生吧….讲的有点粗糙,反正我不喜欢用,一路走来,大坑小坑无数.自己记录下,有需要完善的地方还希望大伙留言提出!
第七节:spring boot整合druid以及druid监控
还没有评论,来说两句吧...