我有一个包含2个项目的Visual Studio解决方案:
我的Web应用程序项目没有Log4Net参考。 Logging项目是一个引用Log4Net dll的项目,它有一个Manager类,我有所有的日志记录方法。
现在,我想知道我在Web应用程序WEb.Config文件中需要做什么,我在互联网上看到我必须添加一个部分:
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,
log4net"/>
但我担心的是我的网络项目没有Log4Net dll参考。如果我没有将Log4Net dll添加到我的网络项目中,我可以这样做吗?
答案 0 :(得分:1)
是的,您可以在不引用Web应用程序项目中的section
的情况下为log4net添加log4net.dll
元素。
可以肯定的是,我在Visual Studio 2013中使用针对.NET 4.0的临时Web应用程序项目(WebApplication1)和类库(ClassLibrary1)进行了双重检查.ClassLibrary1引用了log4net.dll
,但WebApplication1却没有;它只是引用了ClassLibrary1并且有一个log4net section
元素&amp; log4net
中的相关Web.config
元素:通过log4net登录文本文件的工作非常精彩。
答案 1 :(得分:0)
您似乎忘记了配置log4net。最佳做法是在assably.cs中添加configure属性:
// Configure log4net using the .config file
[assembly: log4net.Config.XmlConfigurator(Watch=true)]
// This will cause log4net to look for a configuration file
// called TestApp.exe.config in the application base
// directory (i.e. the directory containing TestApp.exe)
// The config file will be watched for changes.
// Configure log4net using the .log4net file
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension="log4net",Watch=true)]
// This will cause log4net to look for a configuration file
// called TestApp.exe.log4net in the application base
// directory (i.e. the directory containing TestApp.ex
您可以在log4net dll中添加该属性,不需要在您的Web项目中引用log4net。