【问题标题】:Where to put log4j.properties into Maven project in Eclipse having some "default package" inside "src"-folder?将 log4j.properties 放入 Eclipse 中的 Maven 项目中,在“src”文件夹中有一些“默认包”?
【发布时间】:2019-12-26 20:05:05
【问题描述】:

我是 Eclipse 的新用户。我将 log4j.properties 放入 src 文件夹。出于某种原因,我的 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 并不能解决问题。

这是我的代码:

导入 org.apache.log4j.Logger; 导入 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

如何解决这个问题?

【问题讨论】:

    标签: java log4j


    【解决方案1】:

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

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

    用于测试代码库 -> src/test/resources

    此外,如果您使用的是 Maven,请在 build 部分的 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 文件。

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 2020-03-17
        • 2020-09-02
        • 1970-01-01
        • 2011-08-04
        • 1970-01-01
        • 2018-03-02
        • 1970-01-01
        • 2013-08-23
        • 1970-01-01
        相关资源
        最近更新 更多