2016-03-29 8 views
2

JEE 7を使用してRESTfulサービス・アーキテクチャーの新しいバージョンを作成し、Wildfly 9インスタンスにデプロイすると、ログ・システムを作成する巧妙な方法があるかどうか疑問に思っていました。どうもありがとう。CDIを使用したベスト・ロギング

+1

[logback](http: /logback.qos.ch)とパターンについては、[ログバックレイアウトのドキュメント](http://logback.qos.ch/manual/layouts.html)を見て、あなたのニーズに合ったパターンを作成してください。 – aribeiro

答えて

7

私は、JavaEE 7 JAX-RSプロジェクト用のSLF4Jインターフェイスを備えた単純なプロデューサを使用しています。

import javax.enterprise.inject.Produces; 
import javax.enterprise.inject.spi.InjectionPoint; 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

public class LoggerProducer 
{ 

    @Produces 
    public Logger getLogger(final InjectionPoint ip) 
    { 
     return LoggerFactory.getLogger(ip.getMember().getDeclaringClass()); 
    } 
} 

注射を使用すると使い方が非常に便利です。

@Inject 
private Logger logger; 

ビジネスクラスに影響を与えずに実装を簡単に変更できます。実装はslf4j-simpleで十分ですが、より高度なものが必要な場合は、すでに提案されているようにlog4j 2を見てください。

+0

クール。それは基本的なアプローチだから、もっと先進的なものを考えていたかもしれませんが、おそらくオブザーバーのパターンを使っていましたが、それが工学的でないかどうかは分かりません –

+0

個人的に私は可能な限りシンプルにしようとします。より高度なものが必要であるという限界が何であるかを指摘してください。 – simdevmon

関連する問題