slf4j ロガーに CDI インジェクションを使おうと考えているので、プロデューサーを作成しました。
私ApplicationScopedはシリアライズ可能なBeanにそれを注入しています:
@ApplicationScoped
public final class CurrentApplicationBean implements Serializable {
@Inject
private transient Logger logger;
}
org.slf4j.Loggerは拡張されないインターフェイスであるため、一時的である必要がありますSerializableが、これは、逆シリアル化後にロガーを再注入する必要があることを意味します。
CDIはそれを処理していないと思いますが、あなたは何を知っていますか?
Loggerさらに、プロバイダはからロガー名を設定する必要があるため、常に新しいインスタンスを提供しますInjectionPoint。これは、RequestScopedクラスごとの静的ロガーではなく、Bean が独自のロガー インスタンスを持つことを意味します。
ロギングは、CDI インジェクションの適切なコンテキストではないかもしれません...あなたの考慮事項は何ですか?