springboot 关于log4j日志配置

Posted momo1210

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 关于log4j日志配置相关的知识,希望对你有一定的参考价值。

自动加载配置文件:
(1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解。log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properties文件。然后加载配置。配置文件放置位置正确,不用在程序中手动加载log4j配置文件。如果将配置文件放到了config文件夹下,在build Path中设置下就好了。

log4j日志配置文件的命名一般采用log4j.properties,位置放在resources/log4j.properties 下面,而不能直接把配置写在applicaion.properties里面,切记!!

 技术图片

 


若要手动加载配置文件如下:
(1)PropertyConfigurator.configure("log4j.properties") 默认读取的是项目根目录的路径。此时的log4j.properties要放在项目目录下。
如图,log4j.properties和src是同级目录,同在根目录下

(2)一般,一个java项目会有很多的配置文件,建议把所有的配置文件放到一个文件夹下,
例如,放到config文件夹。那么在读取这些配置文件的时候要加上子目录名称。
如图在项目目录下创建config文件夹(注意:不是在src文件下),此时,config和src是同级目录(同级目录!!!!!!)
技术图片

 


这时,读取路径改为:
PropertyConfigurator.configure("config/log4j.properties");
(3):如果不手动设置,不用人为的写加载log.properties文件的代码时,直接放src目录下,千万要记得,如果新建一个JAVA项目,src文件要弄成原文件包才行
我就是用的这个
(4)项目打成jar包时,一般不会把配置文件也打进jar包。
如果是第一种方式,直接将log4j.properties文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。
如果是第二种方式,要建立config文件夹,把配置文件放入其中,再将config文件和生成的HelloWorld.jar放在同一目录下,项目就能顺利读取配置文件。

 

(5)依赖包配置

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

https://blog.csdn.net/l1028386804/article/details/80464909

 

<!-- 忽略自带的日志框架. -->
<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> 
<!-- log4j. -->
<dependency> 
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

以上是关于springboot 关于log4j日志配置的主要内容,如果未能解决你的问题,请参考以下文章

Springboot 日志管理配置logback-spring.xml

springboot配置Log4j日志

springboot日志管理+集成log4j

springboot添加log4j日志配置log4j.xml生成日志文件

springboot配置Log4j(将输出日志打印在控制台)

最全的 SpringBoot+Logback 日志配置教程