每天记录一个日志 [英] Having a log per day

查看:226
本文介绍了每天记录一个日志的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前,我的应用程序正在使用log4net来记录错误,web.config如下所示:

 < log4net的> 
< appender name =FileAppendertype =log4net.Appender.FileAppender>
< file value =c:/paypal/logs/gateway.log/>
< appendToFile value =true/>
< layout type =log4net.Layout.PatternLayout>
< conversionPattern value =%date [%thread]%-5level%logger [%property {NDC}] - %message%newline/>
< / layout>
< / appender>
< root>
< level value =DEBUG/>
< appender-ref ref =FileAppender/>
< / root>
< / log4net>

但是,这个问题是每天日志总是转到 gateway有没有人知道每天使用log4net有不同的日志文件吗?




$ b

$ b

理想情况下,我不想每天晚上使用计划的任务手动编辑 web.config

解决方案

您应该使用 RollingFileAppender with rollingStyle Date 和datePattern yyyyMMdd (这将滚动每一天)。



配置示例:

  < appender name =FileAppendertype =log4net.Appender.RollingFileAppender> 
< file value =c:/paypal/logs/gateway.log/>
< appendToFile value =true/>
< rollingStyle value =Date/>
< datePattern value =yyyyMMdd/>
< layout type =log4net.Layout.PatternLayout>
< conversionPattern value =%date [%thread]%-5level%logger [%property {NDC}] - %message%newline/>
< / layout>
< / appender>

更新:我认为更好的方法是将日期包含在文件名中。并且使用datePattern值来显示何时应该创建新的日志文件。

 < appender name =FileAppendertype =log4net.Appender.RollingFileAppender> 
< file type =log4net.Util.PatternStringvalue =c:/ paypal / logs / gateway_%date {yyyyMMdd} .log/>
< appendToFile value =true/>
< rollingStyle value =Date/>
< datePattern value =yyyyMMdd/>
< layout type =log4net.Layout.PatternLayout>
< conversionPattern value =%date [%thread]%-5level%logger [%property {NDC}] - %message%newline/>
< / layout>
< / appender>

在这种情况下,您的所有文件都将名称如 gateway_20120427.log


Currently my application is using log4net to log errors, the web.config for this is as followed:

<log4net> 
    <appender name="FileAppender" type="log4net.Appender.FileAppender">
        <file value="c:/paypal/logs/gateway.log" />
        <appendToFile value="true" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] – %message%newline" />
        </layout>
    </appender>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="FileAppender" />
    </root>
</log4net>

However, the problem with this is that everyday the logs always go to gateway.log

Does anybody know a way to have a different log file per day using log4net?

Ideally I don't want to have to manually edit the web.config every night using a scheduled task.

解决方案

You should use RollingFileAppender with rollingStyle Date and datePattern yyyyMMdd (this will roll every day).

Example of configuration:

<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="c:/paypal/logs/gateway.log" />
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <datePattern value="yyyyMMdd" />
    <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] – %message%newline" />
    </layout>
</appender>

UPDATE: I think a better way is to include the date into file name. And use datePattern value only to show when new log file should be created.

<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
  <file type="log4net.Util.PatternString" value="c:/paypal/logs/gateway_%date{yyyyMMdd}.log" />
  <appendToFile value="true" />
  <rollingStyle value="Date" />
  <datePattern value="yyyyMMdd" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] – %message%newline" />
  </layout>
</appender>

In this case all your files will have name like gateway_20120427.log.

这篇关于每天记录一个日志的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆