Java 无法获取已创建的log4j日志文件

Java 无法获取已创建的log4j日志文件,java,jar,log4j,Java,Jar,Log4j,我知道以前有人问过这个问题,但没有一个答案对我有用。我有以下log4j.properties文件: 我在/resources中找到了这个文件,我在src和中尝试过它。resources文件夹已添加到Eclipse中的构建路径,以及jar文件log4j-api-2.0-rc1.jar和log4j-core-2.0-rc1.jar。但是,当我将项目导出为可运行的jar时,不会创建任何日志文件,也不会将任何内容写入标准输出 我在上面读了一些其他的答案,所以它需要放在你的类路径上的文件夹中。因此,我在代

我知道以前有人问过这个问题,但没有一个答案对我有用。我有以下log4j.properties文件:

我在/resources中找到了这个文件,我在src和中尝试过它。resources文件夹已添加到Eclipse中的构建路径,以及jar文件log4j-api-2.0-rc1.jar和log4j-core-2.0-rc1.jar。但是,当我将项目导出为可运行的jar时,不会创建任何日志文件,也不会将任何内容写入标准输出

我在上面读了一些其他的答案,所以它需要放在你的类路径上的文件夹中。因此,我在代码中添加了以下内容:

String classpath = System.getProperty("java.class.path");
System.out.println("Classpath [" + classpath + "]");
。。。并将属性文件放在打印出来的位置,但仍然没有文件或标准输出。在使用记录器的每个java文件中,它都实现为:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class SutureSelfExample {
    private static Logger log = LogManager.getLogger(SutureSelfExample.class.getName());

    ...

    log.info("Log something interesting.");
}
如果我使用以下命令运行jar:

./SutureSelfRunnable.jar -Dlog4j.configuration=./log4j.properties
./SutureSelfRunnable.jar -cp /home/sutureself/
。。。还是没什么

少了什么?我的Java代码中是否需要更多内容才能使其正常工作?

对于log4j 2,您需要通过xml配置文件进行配置:有关更多信息,请参阅

如果要使用属性文件,必须将libs降级为log4j 1.x。

对于log4j 2,需要通过xml配置文件进行配置:有关更多信息,请参阅


如果要使用属性文件,必须将libs降级为log4j 1.x。

将log4j.properties和jar放入/home/sutureself/;如果这是您想要的类路径。我自己推荐/home/sutureslf/jars。将log4j.properties和jars放入/home/sutureslf/;如果这是您想要的类路径。我会自己推荐/home/suthureself/jars。这似乎是我的问题。谢谢你。这个答案很有帮助,这似乎是我的问题。谢谢你。这个答案很有帮助
./SutureSelfRunnable.jar -Dlog4j.configuration=./log4j.properties
./SutureSelfRunnable.jar -cp /home/sutureself/