在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的依赖,就像下面这样:
<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
# 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文件中了。
# 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。
# 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级别输出到特定的日志文件中,具体配置可以如下。
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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
推荐阅读
-
在Spring Boot中如何使用log4j记录日志
-
在Spring Boot中如何使用log4j记录日志
-
浅谈在Spring中如何使用数据源(DBCP、C3P0、JNDI)
-
如何使用Spring Boot ApplicationRunner解析命令行中的参数
-
详解Spring-Boot中如何使用多线程处理任务
-
在Spring Boot中如何使用数据缓存
-
Spring-Boot中如何使用多线程处理任务方法
-
如何使用Spring Boot ApplicationRunner解析命令行中的参数
-
在Spring Boot中如何使用数据缓存
-
浅谈在Spring中如何使用数据源(DBCP、C3P0、JNDI)