Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.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 application.log文件未写入_Java_Linux_Log4j_Playframework_Centos - Fatal编程技术网

Java Log4J application.log文件未写入

Java Log4J application.log文件未写入,java,linux,log4j,playframework,centos,Java,Linux,Log4j,Playframework,Centos,我在conf/目录中实现了一个log4j.properties文件,如下所示 在我的工作站上,我的日志输出停止出现在控制台中,并开始出现在application.log文件中。这是正确的/预期的行为 但是,同一应用程序一旦复制到我的生产服务器上,就不会进行日志记录。application.log为空并保持为空 这一切都是在centOS linux上完成的 有什么想法吗 提前感谢,, Josh您的应用程序是否具有写入application.log文件的权限?可能java进程是在写权限不足的用户下启

我在conf/目录中实现了一个log4j.properties文件,如下所示

在我的工作站上,我的日志输出停止出现在控制台中,并开始出现在application.log文件中。这是正确的/预期的行为

但是,同一应用程序一旦复制到我的生产服务器上,就不会进行日志记录。application.log为空并保持为空

这一切都是在centOS linux上完成的

有什么想法吗

提前感谢,,
Josh

您的应用程序是否具有写入application.log文件的权限?可能java进程是在写权限不足的用户下启动的。

您是否在prod server上的生产服务器-Dlog4j.configuration=(log4j.xml或log4j.properties的路径)中设置了此vm参数?您是否使用日志的完整路径?您确定应用程序正在您认为的位置运行吗?您是否尝试删除日志文件并重新运行?日志文件是重新创建的吗?解释如何设置日志文件的文章中有一条我不理解的注释,可能与此相关?“上面的日志示例假设conf在类路径中,这就是为什么application.log.path=/log4j.properties在application.conf中设置的原因。但是conf并没有使用默认的播放包添加到类路径中。因此添加它,它将开始工作,即创建日志文件。”我不知道。不幸的是,我不是Linux迷。我不确定权限在Linux上是如何工作的,但仍在学习中。我不确定“用户”游戏或java是以什么样的身份运行的。如果你认为这可能是权限问题,我可以让我的linux操作团队从这个角度进行调查。在我的职业生涯中,我在linux中可能有一百个与权限相关的错误。因此,当Symptoms“在windows上工作,而不是在Linux上工作”时,首先我会检查权限。感谢各位提供的提示,我将从这个角度进行调查。顺便说一句,这不是权限问题。由于人人都可以读写,我不知道为什么play不能写入它的日志文件。任何人