设置log4j.properties文件以登录servlet

时间:2012-10-06 10:52:00

标签: java properties log4j

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

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

但在设置log4j.properties

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

PropertyConfigurator.configure("log4j.properties");

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

我尝试将其解压缩并在另一个名为resources的文件夹中创建,并尝试通过以下方法访问该文件

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

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

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

找到另一个链接 Log4j Properties in a Custom Place

并且需要设置类路径

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

不知道如何设置-classpath并且不知道这个方法是否会起作用!!

即使将其导出为jar文件也应该有效!

2 个答案:

答案 0 :(得分:3)

如果log4j.properties资源目录位于类路径上,则可以使用:

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

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

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

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

答案 1 :(得分:2)

为了使其能够运行immediatley,您可以从代码配置它们:

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

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

这不是你要求的解决方案,但如果时间不够,它可能会非常有用。