0

在 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 日志记录起作用的时候。

有什么建议吗?

谢谢。

4

1 回答 1

0

The problem in my case is my project's dependency to kettle-engine jar. After I removed it everything worked well. I'm not sure what's in kettle that's causing the problem though.

于 2013-06-02T02:55:54.703 回答