0

jboss でロギングを設定する最良の方法は何ですか。私は 2 つのアプローチを試しました (どちらも失敗しました):

<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 jars のログ記録作業を含めると、奇妙なことがわかりましたが、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.) 新しい ear プロジェクトを作成しましたが、ロギングは期待どおりに機能します。2.) war プロジェクトでは失敗しますが、jboss-deployment-structure.xml を追加して除外を追加すると:

<module name="org.slf4j" />
<module name="org.slf4j.impl" />

それがINFOロギングが機能するときです。

なにか提案を?

ありがとう。

4

1 に答える 1