-1

服务器是一个简单的码头服务器

如何设置 log4j.properties 文件我有一个正确的 log4j 属性文件,

但是在设置 log4j.properties

使用以下方式,我的 src 文件夹中有 log4j.properties

PropertyConfigurator.configure("log4j.properties");

当我在本地工作时它工作正常,但是当我创建一个 jar 文件并运行它时抛出一个异常,如java.io.FileNotFoundException:

我尝试提取它并在另一个名为资源的文件夹中创建它,并尝试通过以下方法访问它

PropertyConfigurator.configure("resources/log4j.properties");

即使在那之后它显示相同的错误

如何将整个项目导出为 jar 文件并使这个 log4j 问题起作用?

在自定义位置找到另一个链接 Log4j 属性

并且需要设置类路径

java -Dlog4j.configuration=conf/log4j.properties -classpath ...

不知道如何设置-classpath,也不知道这个方法能不能用!!

即使它作为 jar 文件导出,它也应该可以工作!

4

2 回答 2

3

如果log4j.properties资源目录在类路径中,您可以使用:

PropertyConfigurator.configure("classpath:resources/log4j.properties");

要查看 Jetty 的工作目录,您可以添加:

System.out.println(System.getProperty("user.dir"));

PropertyConfigurator.configure声明之前。这将允许您查看属性文件相对于服务器工作目录的位置。

于 2012-10-06T11:18:38.473 回答
2

为了使其立即工作,您可以从代码中配置它们:

Properties props = new Properties();
props.setProperty("<KEY>","VALUE");
PropertyConfigurator.configure(props);

使用 log4j.properties 文件中的所有属性对 props 对象进行硬编码。

这不是您要求的解决方案,但如果您时间紧迫,它可能会很有帮助。

于 2012-10-06T10:57:42.603 回答