我想用log4j使jetty服务器日志。当我使用 IDEA 部署爆炸式 war 时,效果很好。 IDEA 在 /tmp
目录中创建此文件 (root.xml
):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="resourceBase">/home/username/Desktop/project/ROOT/target/root</Set>
</Configure>
将此文件复制到 /opt/jetty/webapps
并重新启动 jetty 服务后,它会停止日志记录。我没有更改项目中的其他任何内容。我什至没有改变目录,一切都是一样的。
我只想在没有 IDEA 的情况下进行部署。
如何使 log4j 与 Jetty 9 服务器上手动部署的分解 war
配合使用?
最佳答案
当您从 IDEA 进行部署时,它会以特权用户身份运行,并且具有对日志的写访问权限。
服务器有自己的日志文件和自己的用户。它可能没有适当的权限来写入您正在检查的日志。所以你应该检查服务器自己的日志文件。也许您会发现 FileNotFoundException
和 Permission Denied
。您需要授予 Jetty 用户编辑日志文件的权限。
关于java - 如何让 log4j 与 jetty 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261424/