我正在使用log4net执行每日日志记录。 我意识到log4net不支持以这种方式删除旧文件。
我正在尝试编写自己的方法来完成此任务,但我不确定如何从web.config文件中读取log4net设置。
我试过了:
var log4NetData = ConfigurationManager.GetSection("log4net");
但是我得到了这个结果:
类型' System.Configuration.ConfigXmlElement'存在于' System.Configuration.dll'和' System.dll'
如何从web.config中读取log4net节点?
答案 0 :(得分:0)
实际上Log4Net总是可以更新同一个文件(这样就不需要删除它并创建另一个文件)。 我使用log4Net在一小时内记录了相同的文件n次。我的配置:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
的app.config:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="MyFileAppender" />
</root>
<appender name="MyFileAppender" type="log4net.Appender.FileAppender">
<file value="application.log" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %level - %message%newline" />
</layout>
</appender>
</log4net>