从 log4j-1.2.17 迁移到 Log4j2 2.17.1 后不打印日志

发布于 2025-01-10 09:26:52 字数 898 浏览 1 评论 0原文

我正在尝试从 log4j-1.2.17 迁移到 log4j-api-2.17.1 但在所有更改之后,日志没有被打印。我正在按照 https://logging 的建议使用“选项 2” .apache.org/log4j/2.x/manual/migration.html

我已在 libs 文件夹中添加了 lo4j-api-2.17.1.jarlog4j-core-2.17.1.jar 并正确配置了 log4j2.xml< /code> 在 src/resources/... 文件夹中。

当我运行 Weblogic 12c 服务器时,我的控制台中没有构建错误,也没有任何错误或警告。它是一个 jdk 1.6struts 2 java Web 应用程序。

当我使用以下 VM 参数时,日志打印正常:

-Dlog4j2.configurationFile=%LOG_PATH% -Dlogpath=%LOGS%
set LOG_PATH=C:\bea\user_projects\domains\app_domain\conf\log4j2.xml
set LOGS=C:\bea\user_projects\domains\app_domain\logs

但由于业务需求,这种方法对于 Prod env 来说是不可接受的。有没有其他方法可以通过 java 代码执行 VM args 的任务而不使用 VM args?

I am trying to migrate from log4j-1.2.17 to log4j-api-2.17.1 but after all the changes, the logs are not getting printed. I am using 'Option 2' as suggested by the https://logging.apache.org/log4j/2.x/manual/migration.html .

I have added lo4j-api-2.17.1.jar and log4j-core-2.17.1.jar in my libs folder and properly configured log4j2.xml in the src/resources/... folder.

There are no build errors nor any errors or warnings in my console when I run my Weblogic 12c server. It is a jdk 1.6 and struts 2 java web application.

The logs print fine when I use below VM args:

-Dlog4j2.configurationFile=%LOG_PATH% -Dlogpath=%LOGS%
set LOG_PATH=C:\bea\user_projects\domains\app_domain\conf\log4j2.xml
set LOGS=C:\bea\user_projects\domains\app_domain\logs

But this method is not acceptable for Prod env due to business requirements. Is there any alternative to perform the tasks of VM args through java code without using the VM args?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

胡大本事 2025-01-17 09:26:52

另一种方法是使用System 属性。然后以编程方式添加属性:

System.setProperty("log4j2.configurationFile", "/path/to/log4j2.xml");

您可以将此代码添加到调度程序侦听器。请参阅如何使用调度程序监听器

参考资料:

The alternative way is to use System properties. Then you programmatically add properties:

System.setProperty("log4j2.configurationFile", "/path/to/log4j2.xml");

You can add this code to the dispatcher listener. See how the dispatcher listener should be used.

Referencies:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文