问题现象:
将模块打成jar包后放到Linux环境,使用-Dlog4j.configurationFile=/root/log4j2.xml -jar demo.jar
模块启动后在日志目录生成了日志文件,但是文件中始终不输入内容
pom文件中依赖只有以下两个starter,没有指定其他依赖
<dependencies>
<!--移除框架中的logback依赖-->
<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>
<!--log4j2-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
</dependencies>
网上说的方式有很多,其中最多的是排除spring-boot-starter中的log依赖spring-boot-starter-logging,但是已经排除
也有说修改log4j2.xml文件位置的、修改log4j2.xml日志级别的,统统不管用
测试发现,同一个log4j2.xml文件如果打在jar包里面是可以的,但是如果使用Java命令启动jar包时指定就不可以
yml配置文件中加了 log4j2设置吗?
logging:
config: classpath:log4j2.xml
把log4j2.xml 文件内容截图看看
没有,不过是使用Java命令启动的
命令是java -Dlog4j.configurationFile=/root/log4j2.xml -jar demo.jar
可以生成空的日志文件,说明配置文件已经读取,但是日志文件大小一直是0
@守望一心: 那就是log4j2.xml 文件 里面的配置有问题,截图看看