在 jboss 中配置日志记录的最佳方法是什么,我尝试了 2 种方法(均失败): 1.)使用 jboss 内置,根据一些文章,我只需要添加对 slf4j-api 的依赖作为提供的范围:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
<scope>provided</scope>
</dependency>
*这里的问题是 Eclipse 控制台中没有显示日志。
2.) 使用 logback,所以我在 jboss-deployment-structure.xml 中排除了 slf4j 和 impl,并在我的 war 项目中包含了 slf4j/logback 依赖项。日志记录有效,但我有一个前缀 DATE LOG_LEVEL,我认为来自 jboss。
我发现了一些奇怪的东西,当我包含 log4j jar 日志记录工作但仅用于 INFO 级别时,调试仍然没有出现。
其他信息:我正在从生产者那里注入日志:
@Inject
protected org.slf4j.Logger log;
@Produces
public Logger createLogger(InjectionPoint injectionPoint) {
return LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
}
控制台记录器设置:
<console-handler name="CONSOLE">
<level name="DEBUG"/>
<formatter>
<pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter>
</console-handler>
我发现了一些异常:1.)我创建了一个新的耳朵项目,并且日志记录按预期工作。2.)在战争项目中失败,但如果我添加 jboss-deployment-structure.xml 并添加排除:
<module name="org.slf4j" />
<module name="org.slf4j.impl" />
这就是 INFO 日志记录起作用的时候。
有什么建议吗?
谢谢。