4

这是我使用的附加程序app.config,它会生成类似的文件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>
4

2 回答 2

7

此功能是版本 1.2.11 的一部分。滚动文件附加程序有一个新设置:

<preserveLogFileNameExtension value="true"/> 

这是 JIRA 问题的链接: https ://issues.apache.org/jira/browse/LOG4NET-64

于 2012-05-02T16:43:06.560 回答
-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"))
    ...
} 


于 2012-04-30T19:06:21.087 回答