以下是我在app.config
中使用的appender,它会生成20120501.log.1
之类的文件,而我期望的是20120501.1.log
。
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<file value="logs\" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMddt'.log.'" />
<countDirection value="1" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="1000kb" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
答案 0 :(得分:7)
此功能是1.2.11版的一部分。滚动文件追加器有一个新设置:
<preserveLogFileNameExtension value="true"/>
以下是JIRA问题的链接: https://issues.apache.org/jira/browse/LOG4NET-64
答案 1 :(得分:-1)
首先,您需要设置配置文件:
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<File type="log4net.Util.PatternString" value="App_Data/%property{LogName}" />
...
</appender>
然后在您的Global.asax文件中设置LogName详细信息:
private static readonly log4net.ILog log = log4net.LogManager.GetLogger("Global.asax");
void Application_Start(object sender, EventArgs e)
{
// Set logfile name and application name variables
log4net.GlobalContext.Properties["LogName"] = String.Format("{0}.2.log",DateTime.Now.ToString("yyyyMMdd"))
...
}