spring boot使用slf4j输出日志

本文介绍了如何在 Spring Boot 中配置 SLF4J 日志,包括在 pom.xml 中添加依赖,通过 application.properties 文件设置日志级别和路径,以及自定义 logback.xml 配置文件,包括控制台和文件输出,滚动策略和最大历史记录数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

的配置,log也不例外,

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

[html]  view plain  copy
  1. <dependency>  
  2.             <groupId>org.springframework.boot</groupId>  
  3.             <artifactId>spring-boot-starter</artifactId>  
  4.         </dependency>  

这里可以不同添加了,因为里面已经包含

[html]  view plain  copy
  1. <dependency>  
  2.             <groupId>org.springframework.boot</groupId>  
  3.             <artifactId>spring-boot-starter-logging</artifactId>  
  4.         </dependency>  

没有的就加上吧!二选一皆可!

代码:

public class ArticleController extends BaseController {
    private static Logger log = LoggerFactory.getLogger(ArticleController.class);
    @Autowired
    private RedisConfig redisConfig;
    @Autowired
    private ArticleService articleService;
    @RequestMapping("/articleList")
    @ResponseBody
    public BaseModel<List<ArticleVO>> articleList(){
        BaseModel<List<ArticleVO>> res = new BaseModel<>();
        JedisCluster jedisCluster = redisConfig.getJedisCluster();
        String redis=redisConfig.getJedisCluster().get("redisKey");
        log.info("redis:"+redis);
}


接下来我们先看看application.properties方式的配置吧,

[html]  view plain  copy
  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详细代码:

[html]  view plain  copy
  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>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值