我开发了一个库,该库被另一个应用程序中的加载项体系结构使用。我的图书馆使用 log4net 进行日志记录。
这在测试中可以正常工作,因为可以解析 app.config 的位置,并且使用以下命令配置 log4net:
log4net.Config.XmlConfigurator.Configure();
当作为加载项加载时,无法使用此方法解析应用程序配置。
一种选择是使用通过加载项体系结构传入的配置来配置 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");