我在 web.config 中有如下的日志文件位置。
<appSettings>
<add key="LogPath" value="D:\Service\"/>
</appSettings>
我在 web.config 中有 log4net 配置,如下所示
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net debug="true">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="%property{LogName}"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="10"/>
<maximumFileSize value="10MB"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%m%n"/>
</layout>
</appender>
<root>
<level value="DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
在Service类的顶部初始化GetLogger如下
Private Shared ReadOnly log As ILog = LogManager.GetLogger(GetType(Service))
我为 LogName 创建了 GlobalContext 属性,如下所示
log4net.GlobalContext.Properties("LogName") = ConfigurationManager.AppSettings("LogPath") & "Service." & Format(Now, "ddMMyyyy") & ".txt"
使用 log.Info 完成日志记录,如下所示
log.Info(strComments)
在这种情况下,日志文件在 Project 文件夹下创建为“null”并记录详细信息。
根据上面的代码,我希望日志位置为“D:\Service\Service.30082012.txt”。
我错过了什么?请帮帮我。