log4netで外部構成ファイルを操作しています。これは、アプリの構成に構成ファイルの場所を指定しXmlConfigurator.Configure()
、アプリの起動時に呼び出すことによって行います。
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
...
<log4net configSource="Log4Net.config" />
これは機能しますが、変更を監視したいと思います。ドキュメントによると、これを実現するためにアセンブリ属性を使用できるはずです。つまり、これ以上呼び出す必要はありませんXmlConfigurator.Configure()
。そこで、これをメインアプリ(およびそれが参照するプロジェクト)のAssemblyInfo.csに追加します。
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
問題は、これはまったく何もしないということです。の呼び出しを削除するとXmlConfigurator.Configure()
、ロギングが機能しません。ロギングは開始されません。これらの属性は違いを生まないようです。そのため、ファイルが機能しているのをまったく見ることができません。
誰かアドバイスできますか?