在哪里将log4j.properties放入Eclipse中的Maven项目中,"src"文件夹中有一些"default package"?



我是Eclipse的新用户。我将log4j.properties放入src-folder。由于某种原因,我的src文件夹有"默认包",我不知道如何将log4j.properties放入其中。 因此,我有这种例外:

log4j:ERROR Could not read configuration file [log4j.properties].
java.io.FileNotFoundException: log4j.properties (The system cannot find the file specified)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:372)
at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:403)
at HelloWorld.main(HelloWorld.java:9)
log4j:ERROR Ignoring configuration file [log4j.properties].

将 log4j.properties 移动到 src/main/resources 中并不能解决问题。

这是我的代码:

import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator;

公共类 HelloWorld {

static final Logger logger = Logger.getLogger(HelloWorld.class);
public static void main(String[] args) {
PropertyConfigurator.configure("log4j.properties");
logger.debug("Sample debug message");
logger.info("Sample info message");
logger.warn("Sample warn message");
logger.error("Sample error message");
logger.fatal("Sample fatal message");
}

}

log4j.properties文件:

# Root logger option
log4j.rootLogger=INFO, file, errorfile
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#Redirect to Tomcat logs folder
#log4j.appender.file.File=${catalina.home}/logs/logging.log
log4j.appender.file.File=C:\log\logging.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

log4j.appender.errorfile=org.apache.log4j.RollingFileAppender
log4j.appender.errorfile.Threshold=ERROR
log4j.appender.errorfile.File=C:\log\errorlogging.log
log4j.appender.errorfile.MaxFileSize=10MB
log4j.appender.errorfile.MaxBackupIndex=10
log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

如何解决这个问题?

您必须在以下位置添加 log4j.properties 文件。

对于主代码库 ->src/main/resources

对于测试代码库 ->src/test/资源

此外,如果您使用的是Maven,请在pom中添加以下代码.xml在构建部分。

<resources>
<resource>
<directory>src/main/resources</directory>
<targetPath>${project.build.directory}</targetPath>
<includes>
<include>log4j.properties</include>
</includes>
</resource>
</resources>

完成上述所有操作后,在 Eclipse 中刷新项目。使用命令mvn clean packagemvn clean install构建 maven 项目。在项目中,您应该能够在build/classes目录中看到log4j.properties文件。

O 必须放在 src/main/resources 文件夹上。

https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

最新更新