2011-06-27 6 views
0

は、私はちょうどシームはんだを使用し始めましたし、そのロギングモジュールは、私のテスト例えばポストの底に興味深いhttp://docs.jboss.org/seam/3/solder/latest/reference/en-US/html/logging.htmlSEAM3はんだログ

参照してくださいコードを探します。

それを使用しようとしているから上昇しているいくつかの問題:

  • 通常のlog4jのLoggerオブジェクトを注入する方法は?ドキュメントはちょうど@Inject Logger logですが、これは簡単なようですが、デプロイ時に例外がスローされます。org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [Logger] with qualifiers [@Default] at injection point [[field] @Inject com.company.application.controller.SessionController.log]
  • 通常のロガーを注入する以外に、型付きロガーも面白そうでした。ドキュメントには、存在しない@LogMessage注釈を使用する必要があると主張されています。私の推測では、これは@Logに改名されました。すべての通常のメソッド(情報、警告、エラーなど)を使用できるようにするには、ログインターフェイスをBasicLoggerに拡張するのは簡単ですが、このインターフェイスには注釈が正しく表示されないように見えるので、呼び出しハンドラは@Message注釈をチェックし、何も見つからない)。何か間違っているのですか、フレームワークは本当に未完成ですか?私はたぶんシステムを開発するときに通常のlog4jに固執すべきでしょうか?

インタフェース

@MessageLogger 
public interface SessionLogger extends BasicLogger{ 

    @Message("User %s logged in. Redirecting to %s.") 
    @Log(level= Level.INFO) 
    void login(String username, String to); 

    @Message("User %s logged out.") 
    void logout(String username); 
} 

使用

@Inject SessionLogger log 

... 

log.login("username", "url"); 

答えて

0

あなたの問題は、シームはんだに含まクラスにproblen依存関係のように見えます。依存関係は満足していますか?

<dependency> 
    <groupId>org.jboss.seam.solder</groupId> 
    <artifactId>seam-solder</artifactId> 
    <version>${version.seam}</version> 
</dependency> 
1

あなたがやっているアノテーションは、一般的なアノテーションではなく、はんだアノテーションであることを確認してください。

関連する問題