我想通过 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/