Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在我的项目下设置log4j输出日志文件而不是eclipse_Java_Log4j - Fatal编程技术网

Java 在我的项目下设置log4j输出日志文件而不是eclipse

Java 在我的项目下设置log4j输出日志文件而不是eclipse,java,log4j,Java,Log4j,我使用Eclipse作为开发项目的IDE。正如我所期望的,日志已经输出到myproject/logs/log.log,直到我做了一些从某个网站上看到的设置。 我转到Windows->preferences->Java->Build Path->Classpath变量添加“log4j-1.2.16.jar”。 从那时起,日志文件开始显示在D:\eclipse\logs\下,而不是D:\workspace\MyProject\logs下 我已经删除了classpath变量条目并重新启动了Eclips

我使用Eclipse作为开发项目的IDE。正如我所期望的,日志已经输出到myproject/logs/log.log,直到我做了一些从某个网站上看到的设置。

我转到Windows->preferences->Java->Build Path->Classpath变量添加“log4j-1.2.16.jar”。
从那时起,日志文件开始显示在D:\eclipse\logs\下,而不是D:\workspace\MyProject\logs下

我已经删除了classpath变量条目并重新启动了Eclipse,但是我再也不能在我的项目下创建日志文件了

救命啊!!!
谢谢。

最好明确定义日志的路径。例如,如果这是部署在tomcat上的webapp,您可以:

log4j.appender.YOURLOG.file=${catalina.home}/logs/my-application.log

最好是明确定义日志应该到达的路径。例如,如果这是部署在tomcat上的webapp,您可以:

log4j.appender.YOURLOG.file=${catalina.home}/logs/my-application.log

我认为日志文件的位置(如果不是绝对路径)是相对于应用程序的工作目录的。您可以在运行配置中设置应用程序的工作目录:

运行->运行配置->参数选项卡


在屏幕的下半部分,您可以设置您的工作目录

我认为日志文件位置(如果不是绝对路径)是相对于应用程序的工作目录的。您可以在运行配置中设置应用程序的工作目录:

运行->运行配置->参数选项卡


在屏幕下方,您可以设置工作目录

感谢cherouvim和Jens的回复!Jen的答案实际上就是我想要的,因为我的客户不需要使用Tomcat。感谢cherouvim和Jens的回复!Jen的答案实际上就是我想要的,因为我的客户不需要使用Tomcat。