在我的WCF解决方案中,我在此解决方案下有多个项目(16)。 (Business Objects,业务层,Windows服务等)
我需要将log4net日志框架集成到所有项目中。 在所有项目中共享一个log4net配置文件的最佳方法是什么。
答案 0 :(得分:4)
如果您只有一个已启动的启动项目(例如,其中只有一个是MVC项目,其余的是简单库),则只需要在MVC项目中具有配置。在每个库中,您仍然可以使用MVC项目的配置。
但是,如果您有多个启动项目,则可以配置log4net以查看app.config之外的单独的共享配置文件。例如:
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{hh:mm:ss tt} %level> %message%newline"/>
</layout>
</appender>
<root>
<level value="DEBUG"/>
<appender-ref ref="ConsoleAppender"/>
</root>
</log4net>
在项目中:
log4net.Config.XmlConfigurator.Configure(new FileInfo(@"C:\test\common.config"));
您也可以添加应用设置,因此这不是特定于编译的:
<appSettings>
<add key="lo4gnet.Config" value="C:\test\common.config"/>
</appSettings>
在代码中配置:
log4net.Config.XmlConfigurator.Configure(new FileInfo(ConfigurationManager.AppSettings["lo4gnet.Config"]));
答案 1 :(得分:4)
Visual Studio允许您将解决方案级别的文件链接到项目级别。我会在路径上使用硬编码的方法。
Add > Existing Item > Add As Link
为清晰起见,请参阅图片。