Java Log4J application.log文件未写入
我在conf/目录中实现了一个log4j.properties文件,如下所示 在我的工作站上,我的日志输出停止出现在控制台中,并开始出现在application.log文件中。这是正确的/预期的行为 但是,同一应用程序一旦复制到我的生产服务器上,就不会进行日志记录。application.log为空并保持为空 这一切都是在centOS linux上完成的 有什么想法吗 提前感谢,,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进程是在写权限不足的用户下启
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不能写入它的日志文件。任何人