log4netが機能しない

このタイプのことの 1 つの問題は、必ず XmlConfigurator を追加することです。 AssemblyInfo.cs に次の行を配置して、アセンブリに属性を追加します :

[assembly: log4net.Config.XmlConfigurator]

そうしないと、log4net はアクティブになりません。


log4net がまったくログを記録していないか、ファイルが期待どおりの結果になっていないかのいずれかだと思います。

まず、実際に電話しましたか

XmlConfigurator.Configure()

あなたのコードのどこに?上記の xml スニペットがアプリケーション構成ファイルにある場合は、この呼び出しでうまくいきます。 xml スニペットが独自のファイルにある場合は、.Configure(string) を使用する必要があります ファイルへのパスを取るオーバーロード。この呼び出し (または明らかに Kirk Woll によって言及されたアセンブリ レベルの属性) がなければ、log4net はまったくログを記録しません。

これですべて完了し、log4net がログを記録しているはずであると思われる場合は、さらにデバッグしながら、ログ ファイルの完全修飾パスを入力する必要があります。これにより、ファイルがあるべき場所を確認できます


別の小さな落とし穴があります。ここを参照してください:http://logging.apache.org/log4net/release/manual/configuration.html#dot-config

[assembly: log4net.Config.XmlConfigurator] メソッドは app.config では機能しません。 app.config から log4net を構成する場合は、log4net.Config.XmlConfigurator.Configure() を使用する必要があります メソッド。