java - Wildfly 10 不显示调试消息

标签 java debugging logging log4j wildfly

我正在容器上测试我的 ear 应用程序,我需要查看我在我的应用程序上传播的一些调试消息。我使用 slf4j-apilog4j 作为日志记录框架。

在我的测试阶段(在容器外),所有日志记录工作正常,所以配置没问题。但现在我已经部署了具有相同配置的应用程序,但我的消息没有显示。这是我的 log4j 配置:

#rootLogger config
log4j.rootLogger=INFO, console

#appender config
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console..threshold=DEBUG
log4j.appender.console.target=System.out
log4j.appender.console.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.console.layout.ConversionPattern=%d{ABSOLUTE} [%t] %p %l - %m%n

# Log JDBC bind parameter runtime arguments
log4j.logger.org.hibernate.type=INFO

#application logger config
log4j.logger.ar.edu.unt.sigea=DEBUG, console

正如我所说,当我运行我的 @Test 方法时,我所有的 logger.debug() 消息都正确显示,但现在我正在运行具有相同配置的容器,不显示调试消息。

我找到了 this post并按照答案的建议添加了行 log4j.appender.console..threshold=DEBUG 但没有用。

我正在 Wildfly-10.0.0.Final 应用程序服务器上部署并且我正在使用此日志记录依赖项:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.21</version>
</dependency>

我错过了什么?我应该在哪里寻找?预先感谢您的回答

最佳答案

除非您想使用自己的 log4j 配置,否则您不需要使用 log4j 绑定(bind)。从配置文件看,您似乎只是在使用 WildFly 日志子系统已经提供的控制台附加程序。

要查看当前配置的调试消息,您需要做的就是从部署中删除 log4j.properties 并删除 org.slf4j:slf4j-log4j12来自你的 pom 的依赖。然后您可以使用日志子系统来配置日志记录和打开/关闭调试日志记录。如果您使用 CLI 或 Web 控制台,则无需重新启动服务器即可更改日志记录级别。

添加调试级别并将默认的 console-handler 级别更改为 DEBUG。以下两个 CLI 命令是配置调试日志记录所需的全部内容。

/subsystem=logging/logger=ar.edu.unt.sigea:add(level=DEBUG)
/subsystem=logging/console-handler=CONSOLE:write-attribute(name=level, value=DEBUG)

关于java - Wildfly 10 不显示调试消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38341352/

相关文章:

java - 从 Java DOM 中的 XML 获取元素名称

java - Apache Commons Net FTPClient 中止文件存储

java - 'sequenceNumber' header 值必须是整数。但它很长

flutter - 运行时 flutter “Lost connection to device”

c# - LoggingEvent.ExceptionObject 为 null

java - 如何将 Crashlytics 与 RoboVM iOS 绑定(bind)一起使用?

debugging - 如何调试 ILMerged 程序集?

javascript - 如何在 Node 中调试基于 promise 的代码?

php - 具有通用类的独白实现

statistics - 如何实时可视化日志文件?