FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

log4jで No appenders could be found for logger

 log4jの設定ファイルをデフォルト以外のもに変更したがうまく反映されていなくて、No appenders could be found for loggerという警告が出力されてしまった。



エラーが出たソースコード

import org.apache.log4j.*;
・・・
 private static Logger logger = Logger.getLogger(Log4jTestMain.class.getName()); 
 public static void main(String args[]){
  PropertyConfigurator.configure("hoge.xml");
  logger.error("hogehoge");
 }

log4j:WARN No appenders could be found for logger (a.Log4jTestMain).
log4j:WARN Please initialize the log4j system properly.


調べてみると、
 1.設定ファイルの category 要素の name が誤っている
 2.パスの通っている場所に設定ファイルが存在しない
場合なんかにでるらしい。

「2.パスの通っている場所に設定ファイルが存在しない」の場合には下記のメッセージも
同時に出力されるが、今回は出ていないので該当しない。

 log4j:ERROR Could not read configuration file [log4j.xml].
 java.io.FileNotFoundException: log4j.xml (指定されたファイルが見つかりません。)
 log4j:ERROR Ignoring configuration file [log4j.xml].


「1.設定ファイルの category 要素の name が誤っている」のほうも何度も確認したのが間違っていることはない。

 何が原因なのか・・・と悩んでいたら、非常に単純な理由だった。
 原因はXML形式の設定ファイルはPropertyConfiguratorではなく、DOMConfiguratorを使用する必要があるのに、PropertyConfiguratorのままだったから。

 正しくは、下記のようになる。

import org.apache.log4j.*;
import org.apache.log4j.xml.DOMConfigurator;
・・・
 public static void main(String args[]){
  DOMConfigurator.configure("hoge.xml");
  logger.error("hogehoge");
 }



 つまらないミスで結構悩んでしまったorz


■環境
java version "1.6.0_17"
log4j 1.2.9

以上。
スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

検索フォーム
プロフィール

takuan93

Author:takuan93
本ブログの説明書→「ReadMe」

管理者に連絡

カテゴリ
WiX (5)
Ant (1)
フリーエリア
最新記事
カウンター
カレンダー
09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。