log4netでログが出ない時の確認手順

DLLのプロジェクトのせいか、app.configに指定する方法だと設定が読み込まれなくてダメだった。外部xmlファイルにしたらできた。

  • loggerのNameプロパティを見て、想定通りの名称文字列が設定されているかどうかを確認する。この内容と、ログ設定の内容(name value="..."の"..."の部分)が一致していないと、そもそもログ設定がきちんと読み込まれない。
  • 設定ファイルを読み込んだあとで、loggerの「IsDebugEnabled」「IsErrorEnabled」といったBoolean型プロパティを確認し、設定ファイルで指定したレベル以上のプロパティがすべてTrueになっているかどうか。たとえばErrorレベル以上でログを出すように設定しているのに、ErrorやFatalがFalseになっている場合、ログ設定がきちんと読めていない可能性が高い。
  • ログ設定を読み終えた後で、「logger.Logger.Repository.Configured」を確認する。ここがFalseの場合、設定ファイルがきちんと読めていない。
  • 設定ファイルが読めていないといけないのに、上に書いた内容が全部ダメの場合、設定ファイル読み込み処理(XmlConfigurator.Configure(New System.IO.FileInfo(logSettingFile)))をコマンドウィンドウで実行してみる。そうすると、設定ファイル内の不備などがエラーメッセージとしてズラズラ出てくるので、それで設定ファイル中の問題箇所を特定する。