我不明白这个问题出在哪里。
我有一个java项目(没有Eclipse/Maven)结构如下:
├── build
│ ├── classes
│ │ └── oata
│ │ └── HelloWorld.class
│ └── jar
│ └── HelloWorld.jar
├── build.xml
├── lib
│ ├── log4j-api-2.3.jar
│ └── log4j-core-2.3.jar
├── myManifest
└── src
├── log4j2.xml
└── oata
└── HelloWorld.java
在使用ant构建时,我一直无法找到log4j2配置文件。我已经看过类似的问题,常见的问题是xml文件不在类路径中,这不是我的情况。无论如何,这是错误:
[java] ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
我的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<Configuration package="oata"
status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="oata.HelloWorld" level="trace">
<AppenderRef ref="Console"/>
</Logger>
<Root level="trace">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
我假设你正在使用Ant构建脚本执行java类。
No log4j2 configuration file found
表示log4j2.xml
配置文件不在您的类路径中。
请验证HelloWorld.jar是否包含log4j配置文件。
在构建脚本中将log4j配置文件路径设置为系统属性。
<sysproperty key="log4j.configurationFile" value="file:///${basedir}/src/log4j2.xml" />
下面是log4j配置的文档