java - 独立程序中的 slf4j、log4j 和 JBoss 7 logmanager => 没有任何结果

标签 java log4j jboss7.x slf4j

我想通过 slf4j 在独立程序中使用 JBoss logmanager。我使用以下依赖项(使用 JBoss7EAP6 maven 存储库):

<dependency org="org.slf4j"            name="slf4j-api"              rev="1.7.2.redhat-2"/>
<dependency org="org.jboss.slf4j"      name="slf4j-jboss-logmanager" rev="1.0.2.GA-redhat-1"/>
<dependency org="org.jboss.logmanager" name="log4j-jboss-logmanager" rev="1.0.2.Final-redhat-1"/>

我像这样初始化记录器:

package my.testpackage;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

...

private static final Logger LOGGER = LoggerFactory.getLogger(MyClass.class);

我的log4j.properties:

log4j.rootLogger=ALL, ConsoleAppender
log4j.appender.ConsoleAppender=org.apache.log4j.ConsoleAppender 
log4j.appender.ConsoleAppender.layout=org.apache.log4j.PatternLayout 
log4j.appender.ConsoleAppender.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c\: %m%n 
log4j.appender.ConsoleAppender.Threshold=WARN 

问题是,没有记录任何内容。查看日志消息的唯一方法是为 my.testpackage.MyClass 添加显式记录器配置,如下所示:

log4j.logger.my.testpackage.MyClass=WARN   # WORKS

父包配置也不起作用

log4j.logger.my=WARN # DOESN'T WORK

最佳答案

您使用的 JBoss 日志管理器相当旧,我对它了解不多。我可以向您提供有关当前版本 1.5.2.Final 的信息。

JBoss 日志管理器使用它自己的配置文件格式,类似于 log4j,需要在类路径中调用logging.properties,或者您可以添加系统属性logging.configuration=file:path/to/file.properties。不幸的是,目前还没有真正的文档,但我会将您的 log4j 示例转换为 JBoss Log Manager 格式。

# Additional loggers to configure (the root logger is always configured)
loggers=my.testpackage.MyClass,my

logger.level=INFO
logger.handlers=CONSOLE

logger.my.testpackage.MyClass.level=WARN

logger.my.level=WARN

handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler
handler.CONSOLE.level=INFO
handler.CONSOLE.formatter=COLOR-PATTERN
handler.CONSOLE.properties=autoFlush,target,enabled
handler.CONSOLE.autoFlush=true
handler.CONSOLE.target=SYSTEM_OUT
handler.CONSOLE.enabled=true

formatter.COLOR-PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.COLOR-PATTERN.properties=pattern
formatter.COLOR-PATTERN.pattern=%K{level}%d{HH\:mm\:ss,SSS} %-5p [%t] %c: %s%E%n

关于java - 独立程序中的 slf4j、log4j 和 JBoss 7 logmanager => 没有任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22662972/

相关文章:

java - Maven编译加载动态类

java - Log4J - 在动态创建线程的环境中,每个线程一个日志文件

java - 如何使用 log4j2 只记录一个级别?

linux - Controller 在本地主机 JBOSS.7.1.1.FINAL 不可用

java - 如何使用 apache commons-exec 启动程序并立即退出?

java - 即使使用 dp,布局也不适合屏幕截图

java - 集中式日志记录 - 跨服务器关联消息

java - JBoss7 : class configured for SSLContext: sun. security.ssl.SSLContextImpl$TLS10Context 不是 SSLContext

jboss7.x - 在 Jboss7 或 Wildfly 上访问多个 Web 应用程序

JavaFX - 应用程序启动方法中的异常?