服务器是一个简单的码头服务器
如何设置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文件也应该有效!
答案 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对象进行硬编码。
这不是你要求的解决方案,但如果时间不够,它可能会非常有用。