Log4J日志记录实现

时间:2020-08-18 12:09:05

标签: logging jboss log4j

我在我的应用程序中使用apache log4j,这是我正在部署的独立耳朵。日志正在显示。但是在运行时,我试图更改日志级别,但这没有反映到我的应用程序中。 例如:2 logger我正在使用info()和error()。部署应用程序并命中应用程序时,我会将两个日志都放入我的日志文件中,因为我将日志级别配置为“调试”到属性文件中。现在运行时,我将日志级别更改为错误。然后点击该应用程序,它还会显示信息和错误。但是理想情况下,它应该仅显示错误日志。

任何解决此问题的方法。

预先感谢

1 个答案:

答案 0 :(得分:0)

正如您在评论中提到的那样,您正在运行时直接修改standalone.xml。这是不好的做法,因为Wildfly可能会还原(并忽略)您的更改。如果需要更改设置,请使用Wildfly CLI或Web控制台。

您可以像这样调用Wildfly CLI:

/opt/jboss/jboss-eap-<version>/bin/jboss-cli.sh --controller=<ip>:<port> --connect
/subsystem=logging/root-logger=ROOT:write-attribute(name="level", value="ERROR")

如果这不起作用,则Wildfly可能正在使用应用程序(war / jar)日志设置,例如在log4j.properties中定义,因此您需要禁用应用程序日志配置并创建日志配置文件。这有点涉及,所以我在这里不再重复这些步骤。阅读Changing Logging Configurations at Runtime on Wildfly ServerChange Log Level at Runtime with Wildfly了解更多信息。

设置日志配置文件后,您可以在运行时使用Wildfly CLI更改日志设置,而无需重新加载服务器,如下所示:

/subsystem=logging/logging-profile=DEMO/root-logger=ROOT:write-attribute(name="level", value="ERROR")

键入exit退出CLI。