2011-04-07 74 views
0

有人请提供一个示例,说明如何将&日志设置为以yYYYMMDD格式存储在c#中使用的log4net的日志文件。日志文件应该是名称Data_20110407.txt,Data_20110408.txt等等。C#Log4net每日日志文件配置和使用示例

<appender name="ErrorLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
bla bla...? 

And in c# how should i call to log into this specific log? Log4Net.Error() or something? 

感谢您的帮助!

回答

5

下面是配置部分:

<appender name="InfoRollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net"> 

     <param name="File" value="auditlog"/> 
     <param name="RollingStyle" value="Date"/> 
     <param name="DatePattern" value="_yyyy-MM-dd.lo\g"/> 
     <param name="StaticLogFileName" value="false"/> 
     <maximumFileSize value="100KB" /> 
     <appendToFile value="true" /> 
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%newline ---------------START---------------------- %newline %date - %message %newline ----------------END--------------------- %newline" /> 
     </layout> 
     <filter type="log4net.Filter.LevelRangeFilter"> 
      <levelMin value="DEBUG" /> 
      <levelMax value="DEBUG" /> 
     </filter> 
     <filter class="log4net.Filter.DenyAllFilter"/> 
    </appender> 

    <appender name="ErrorRollingLogFileAppender" type="log4net.Appender.RollingFileAppender,log4net"> 

     <param name="File" value="errorlog"/> 
     <param name="RollingStyle" value="Date"/> 
     <param name="DatePattern" value="_yyyy-MM-dd.lo\g"/> 
     <param name="StaticLogFileName" value="false"/> 
     <maximumFileSize value="100KB" /> 
     <appendToFile value="true" /> 
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%newline ---------------START---------------------- %newline %date - %message %stackTrace %newline ----------------END--------------------- %newline" /> 
     </layout> 
     <filter type="log4net.Filter.LevelRangeFilter"> 
      <levelMin value="WARN" /> 
      <levelMax value="ERROR" /> 
     </filter> 
    </appender> 

    <root> 
     <level value="DEBUG" /> 
     <appender-ref ref="InfoRollingLogFileAppender" /> 
     <appender-ref ref="ErrorRollingLogFileAppender" /> 
    </root> 

</log4net> 

这里是你如何可以登录:

private static readonly log4net.ILog log = log4net.LogManager.GetLogger(
    System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 


public void LogError(string message) 
{ 
    log.Error(Program.LogPrefix +"\r\r\nERROR:" + message); 
} 

public void LogAudit(string message) 
{ 
    log.Debug(Program.LogPrefix + "\r\r\nINFO:" + message); 
} 
+0

hi sajoshi日志文件保存在哪里? – 2011-04-07 03:24:18

+0

将日志文件保存到当前程序集的位置.. bin目录 – sajoshi 2011-04-07 05:50:22

+0

好了,但日志文件名变成了Data_2011-04-07.PxP 而不是Data_2011-04-07.txt?我看到其他组件正在写入相同的日志文件,我猜组件正在调用.Debug也。我如何使它只有我的代码写入这个日志文件? 谢谢你的帮助sajoshi。 – 2011-04-07 07:30:37

相关问题