以下是在log4net的配置文件中编写的appender
<appender name="RollingFileAppenderForError" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="D:\WEB\LOGs\%date{yyyyMMdd}\"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<appendToFile value="true"/>
<rollingStyle value="Composite"/>
<datePattern value="lo\gs_yyyyMMdd.lo\g"/>
<maxSizeRollBackups value="50"/>
<maximumFileSize value="1MB"/>
<staticLogFileName value="false"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date{yyyy-MM-dd HH:mm:ss, fff}] [%property{ServiceTxnID}] [%property{TxnRequestID}] %-5level %logger{2} %ndc - %newline Exception: %message - %exception %newline "/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="FATAL" />
</filter>
</appender>
这里的问题是,在本地和QA环境中,log4net正在将日志文件写入正确的文件夹(每天创建新文件夹),但在生产环境中,将日志文件写入错误的文件夹,请说
在20130706日(YYYYMMDD)的文件夹中,编写了logs_20130706.log和logs_20130707.log的文件。在文件夹20130707中,我们可以看到文件logs_20130707.log和logs_20130708.log。
我无法准确地解决问题。如果有人能帮助我,那将会很棒。
答案 0 :(得分:0)
我猜文件类型属性不像datePattern那样经常重新计算,你可以试试这个:
<appender name="RollingFileAppenderForError" type="log4net.Appender.RollingFileAppender">
<file type="log4net.Util.PatternString" value="D:\WEB\LOGs"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<appendToFile value="true"/>
<rollingStyle value="Composite"/>
<datePattern value="yyyyMMdd\\\\'logs_'yyyyMMdd'.log'"/>
....
</appender>