別のアプリケーションのアドイン アーキテクチャによって使用されるライブラリを開発しました。私のライブラリでは、ログに log4net を使用しています。
これは、app.config の場所が解決され、log4net が以下を使用して構成されているため、テストでは正常に機能します。
log4net.Config.XmlConfigurator.Configure();
アドインとして読み込まれた場合、このメソッドを使用してアプリケーション構成を解決することはできません。
1 つのオプションは、アドイン アーキテクチャを介して渡される構成を使用して log4net を構成することです。使用できる構成は、次の結果のようになります。
string asmFile = System.Reflection.Assembly.GetExecutingAssembly().Location;
System.Configuration.Configuration dllConfig = System.Configuration.ConfigurationManager.OpenExeConfiguration(asmFile);
System.Configuration.Configurationをlog4net.Config.XmlConfiguratorでどのように使用できますか?
構成から該当する ConfigurationSection を確認できますが、XmlConfigurator.Configure()で必要な ILoggerRepository または XmlElement を簡単に取得する方法がわかりません。
System.Configuration.ConfigurationSection configSection = configuration.GetSection("log4net");