gpt4 book ai didi

java - log4j 在 unix 中记录到 catalina.out 而不是日志文件

转载 作者:行者123 更新时间:2023-12-01 16:11:01 26 4
gpt4 key购买 nike

在我的 Web 应用程序中,我通过在启动时加载的 Servlet 中使用 PropertyConfigurator.configure(filepath) 函数来初始化 Web 应用程序中的日志记录。

String log4jfile = getInitParameter("log4j-init-file");
if (log4jfile != null) {
String propfile = getServletContext().getRealPath(log4jfile);
PropertyConfigurator.configure(propfile);

我已将 log4j.properties 文件放置在 WEB_INF/classes 目录中,并将该文件指定为

log4j.appender.rollingFile.File=${catalina.home}/logs/myapp.log

我的根记录器最初配置为:

log4j.rootLogger=DEBUG, rollingFile,console

(我相信 console 属性也会将语句记录到 catalina.out 中)

在 Windows 中,日志记录似乎正常发生,语句出现在日志文件中。

在 unix 中,我的日志记录语句被重定向到 catalina.out,而不是我的实际日志文件(其中仅包含来自初始化 servlet 的日志)。所有后续日志都显示在 catalina.out 中。

这让我相信我的 log4j 没有正确设置,但我无法找出原因。谁能帮我找出问题可能出在哪里。

提前致谢,跌倒了

最佳答案

可能是权限问题 - 检查 ${catalina.home}/logs 目录的所有者和权限。

关于java - log4j 在 unix 中记录到 catalina.out 而不是日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1242971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com