我正在容器上测试我的ear应用程序,我需要看到一些在我的应用程序上传播的调试消息。我使用slf4j-api和log4j作为日志记录框架。
在我的测试阶段(容器外),所有的日志记录都工作得很好,所以配置很好。但是现在我已经用相同的配置部署了应用程序,但是我的消息没有显示出来。下面是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()消息都正确显示,但是现在我运行在具有相同配置的容器上,就不会显示任何调试消息。
我找到了这个职位,并按照答案的建议添加了行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>我遗漏了什么?我应该去哪儿找呢?提前谢谢你的回答
发布于 2016-07-14 00:19:50
查看这个野蝇文档,我意识到我的log4j.properties文件位于错误的位置:它位于项目的子模块中,必须位于EAR模块的META-INF文件夹中。
默认情况下,Wildfly采用部署的日志配置,因此在standalone.xml中不需要额外的配置(或者standalone-full.xml,这取决于您使用的是什么配置文件,这就是我的情况)。
发布于 2016-07-13 16:42:17
除非您想使用自己的log4j配置,否则不需要使用log4j绑定。从配置文件中可以看出,您只是在使用控制台附录,它已经由WildFly日志记录子系统提供了。
要查看具有当前配置的调试消息,只需从部署中删除log4j.properties,并从pom中删除org.slf4j:slf4j-log4j12依赖项。然后,可以使用日志子系统配置日志记录,并打开/关闭调试日志记录。如果使用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)发布于 2020-05-11 18:56:51
将日志级别切换到控制台上进行调试
{wildfly}/bin/jboss-cli.sh --connect
[standalone@localhost:9990 /] /subsystem=logging/console-handler=CONSOLE:write-attribute(name=level,value=DEBUG)
[standalone@localhost:9990 /] /subsystem=logging/root-logger=ROOT:write-attribute(name=level,value=DEBUG)将其切换回初始配置(这里是信息)。
[standalone@localhost:9990 /] /subsystem=logging/console-handler=CONSOLE:write-attribute(name=level,value=INFO)
[standalone@localhost:9990 /] /subsystem=logging/root-logger=ROOT:write-attribute(name=level,value=INFO)https://stackoverflow.com/questions/38341352
复制相似问题