首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每天都有一个日志

每天都有一个日志
EN

Stack Overflow用户
提问于 2012-04-27 19:09:24
回答 3查看 52.3K关注 0票数 41

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

代码语言:javascript
复制
<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>

但是,这样做的问题是,每天的日志都会写入gateway.log

有没有人知道使用log4net每天有不同的日志文件的方法?

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

EN

回答 3

Stack Overflow用户

发布于 2012-04-27 19:15:05

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

配置示例:

代码语言:javascript
复制
<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>

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

代码语言:javascript
复制
<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>

在这种情况下,所有文件的名称都类似于gateway_20120427.log

票数 83
EN

Stack Overflow用户

发布于 2012-04-27 19:11:55

就像使用RollingFileAppender

代码语言:javascript
复制
<appender name="RollingLogFileAppenderOutput" type="log4net.Appender.RollingFileAppender">
    <file type="log4net.Util.PatternString" value="c:\my.log" />
    <appendToFile value="true" />
    <rollingStyle value="Date" />
    <datePattern value="yyyyMMdd'.log'" />
    <layout type="log4net.Layout.PatternLayout">
     <conversionPattern value="%date [%thread] %-5level - %message%newline" />
    </layout>
</appender>

编辑

这是每天滚动的整个log4net配置部分,就像@lazyberezovsky回答的那样,只是添加了log4net和根来澄清

edit2 <file value="c:/paypal/logs/gateway_" />这将创建一个名为' gateway_‘的文件,最后(2012-04-27)它将重命名为gateway_20120427.log,第二天(2012-04-28)它将再次创建文件gateway_,最后将创建gateway_20120428.log。

代码语言:javascript
复制
<log4net> 
    <appender name="RollingLogFileAppenderOutput" type="log4net.Appender.RollingFileAppender">
        <file value="c:/paypal/logs/gateway_" />
        <appendToFile value="true" />
        <rollingStyle value="Date" />
        <datePattern value="yyyyMMdd'.log'" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level - %message%newline" />
        </layout>
    </appender>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="RollingLogFileAppenderOutput" />
    </root>
</log4net>
票数 14
EN

Stack Overflow用户

发布于 2016-04-23 01:43:05

PreserveLogFileName

此设置使文件的扩展名在您滚动日志后保持不变。

代码语言:javascript
复制
<log4net> 
    <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>
        <preserveLogFileNameExtension value="true" />
    </appender>
    <root>
        <level value="DEBUG" />
        <appender-ref ref="FileAppender" />
    </root>
</log4net>
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10349536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档