java - 如何让 log4j 与 jetty 一起工作?

标签 java maven intellij-idea log4j jetty

我想用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 进行部署时,它会以特权用户身份运行,并且具有对日志的写访问权限。

服务器有自己的日志文件和自己的用户。它可能没有适当的权限来写入您正在检查的日志。所以你应该检查服务器自己的日志文件。也许您会发现 FileNotFoundExceptionPermission Denied。您需要授予 Jetty 用户编辑日志文件的权限。

关于java - 如何让 log4j 与 jetty 一起工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261424/

相关文章:

svn - 如何刷新 IntelliJ 项目中的架子?

java - Spring MVC @ResponseBody 返回一个列表

java - 在 Java 中将字符串编码为 HTML

java - GlassFish 扩展通用类加载器使用的 JAR

java - 使用 Stripe 时 Maven 编译错误 : Cannot find symbol APIException, APIConnectionException

java - 仅允许插件存储库?

java - 图像容器

android - Eclipse Juno 和 android maven 插件

java - 部署期间出现 ClassNotFound 异常

java - 在方法中检查可空变量是否为空但未识别