我正在尝试使用log4j的log4j2.xml,但我一直在
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
文件位于src / main / resources
下 <?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" name="WIP">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %MDC{threadTrackId} %40c{1.} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="console"/>
</Root>
<Logger name="com.test" level="debug"/>
<Logger name="org.springframework" level="info"/>
</Loggers>
</Configuration>
我不确定文件是否正确定位但是其中的appender未正确读取或文件未找到。
在我的pom文件中,我有以下依赖项
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
</dependency>
这是我在pom中的构建部分
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.wirecard.wip.db.RecreateDatabase</mainClass>
<cleanupDaemonThreads>false</cleanupDaemonThreads>
</configuration>
</plugin>
</plugins>
</build>
在我的班级中,这是我初始化记录器的方式
private static final Logger LOG = LoggerFactory.getLogger(MyClass.class);
我的导入是
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
我使用此命令通过maven运行我的课程
mvn -B -f pom.xml exec:java -Dlog4j.configurationFile=log4j2.xml
我也试过
mvn -B -f pom.xml exec:java -Dlog4j.configurationFile=classpath:log4j2.xml
感谢任何帮助
答案 0 :(得分:7)
消息
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
来自log4j1。您仍必须在类路径上使用jar。运行“mvn dependency:tree”,看看它带来了什么,然后为它添加一个排除。
答案 1 :(得分:0)
如果要从自定义位置引用log4j.properties文件,请在自定义位置也使用以下方式创建日志文件:
并且您排除了
“ spring-boot-starter-logging”
来自
“ spring-boot-starter”
然后在maven中的上述依赖项之后添加此依赖项
<dependency>
<groupId>log4j</groupId>
<artifactId>apache-log4j-extras</artifactId>
<version>1.2.17</version>
</dependency>
执行干净的构建。
它将从自定义位置引用文件并创建日志文件。 希望这会帮助某人。