2012-11-22 15 views
5

私は私のクラスのためにロガーを受け取るしようとしている:静的コンテキストでクラスのロガーを取得するには?

public static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(this); 

しかし、「これは」エラー「静的コンテキストでこれを使用することはできません」が発生し使用。

誰でもこの問題を解決する方法を知っていますか?

編集:私のプログラムのすべてのクラスからロガーにアクセスできる必要がありますので、に公開する必要があります。 org.appache.log4jについては

+0

あなたはLog4Jのを使用しています'java.util.logging'(' Logger'のパッケージは何ですか?) –

+0

@TomaszNurkiewicz私は 'java.util.logging'を使用しました。それを明確にするために私の投稿を編集しました。 –

答えて

9

お知らせ:

public class FooBar { 

    private static final Logger log = Logger.getLogger(FooBar.class); 

    //or (if you are using java.util.logging): 

    private static final Logger log = Logger.getLogger(FooBar.class.getName()); 


} 
+1

checkstyle:大文字「LOG」に書き込んでください。 – AlexWien

+0

@AlexWien:実際、私は小文字を好きですが、なぜ大文字で「LOG」を使うべきか理解しています。 –

+0

java.util.loggingのコメントのために1票アップ – AlexWien

6

:私はprivatepublicから修飾子を変更するjava.util.logging

については

private static final Logger LOG = Logger.getLogger(MyClass.class); 

private static final Logger LOG = Logger.getLogger(MyClass.class.getName()); 
+0

彼は明らかに 'Class'を引数として受け入れない' java.util.logging'を使用しています。文字列のみ –

+0

なぜあなたは彼がjava.util.Loggingを使用していると思いますか?ほとんどの場合org.appache Log4j – AlexWien

+0

彼がjava.util.loggingを使用していることはまったくわかりません – Perception