gpt4 book ai didi

在Spring Boot中如何使用log4j记录日志

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 41 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章在Spring Boot中如何使用log4j记录日志由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

前言 。

Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。本文主要介绍了在Spring Boot中如何使用log4j记录日志,感兴趣的来一起学习学习.

引入log4j依赖 。

在创建Spring Boot工程时,我们引入了spring-boot-starter,其中包含了spring-boot-starter-logging,该依赖内容就是 Spring Boot默认的日志框架Logback,所以我们在引入log4j之前,需要先排除该包的依赖,再引入log4j的依赖,就像下面这样:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <exclusions>
  <exclusion>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-logging</artifactId>
  </exclusion>
  </exclusions>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

配置log4j.properties 。

在引入了log4j依赖之后,只需要在src/main/resources目录下加入log4j.properties配置文件,就可以开始对应用的日志进行配置使用.

控制台输出 。

通过如下配置,设定root日志的输出级别为INFO,appender为控制台输出stdout 。

?
1
2
3
4
5
6
# LOG4J配置
log4j.rootCategory=INFO, stdout
# 控制台输出
  log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{ 1 }:%L - %m%n

输出到文件 。

在开发环境,我们只是输出到控制台没有问题,但是到了生产或测试环境,或许持久化日志内容,方便追溯问题原因。 可以通过添加如下的appender内容,按天输出到不同的文件中去,同时还需要为log4j.rootCategory添加名为file的appender, 这样root日志就可以输出到logs/all.log文件中了.

?
1
2
3
4
5
6
7
8
#
log4j.rootCategory=INFO, stdout, file
# root日志输出
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.file=logs/all.log
log4j.appender.file.DatePattern= '.' yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{ 1 }:%L - %m%n

分类输出 。

1.可以按不同package进行输出。通过定义输出到logs/my.log的appender,并对com.didispace包下的日志级别设定 为DEBUG级别、appender设置为输出到logs/my.log的名为didifile的appender.

?
1
2
3
4
5
6
7
8
# com.juzi包下的日志配置
log4j.category.com.juzi=DEBUG, didifile
# com.didispace下的日志输出
log4j.appender.didifile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.didifile.file=logs/my.log
log4j.appender.didifile.DatePattern= '.' yyyy-MM-dd
log4j.appender.didifile.layout=org.apache.log4j.PatternLayout
log4j.appender.didifile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{ 1 }:%L ---- %m%n

可以对不同级别进行分类,比如对ERROR级别输出到特定的日志文件中,具体配置可以如下.

?
1
2
3
4
5
6
7
8
og4j.logger.error=errorfile
# error日志输出
log4j.appender.errorfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.errorfile.file=logs/error.log
log4j.appender.errorfile.DatePattern= '.' yyyy-MM-dd
log4j.appender.errorfile.Threshold = ERROR
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{ 1 }:%L - %m%n

总结 。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流.

原文链接:https://yangzhiw.github.io/2016/08/19/Boot中使用log4j记录日志/ 。

最后此篇关于在Spring Boot中如何使用log4j记录日志的文章就讲到这里了,如果你想了解更多关于在Spring Boot中如何使用log4j记录日志的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com