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 ");
原文地址:https://www.cnblogs.com/suizhikuo/p/9628761.html