【问题标题】:Archiving Log when size reached达到大小时归档日志
【发布时间】:2016-12-06 22:19:16
【问题描述】:

尝试在达到 200MB 大小时将我的 NLOG 配置为存档日志文件,但现在使用下面显示的配置,当达到大小时它会覆盖相同的文件。

 <target name="debug-file"
            xsi:type="File"
            fileName="${basedir}/Log//log-debug-${date:format=yyyy-MM-dd}.txt"
            layout="${pad:padding=5:inner=${level:uppercase=true}}  ${date}  ${pad:padding=2:inner=${threadid}}  ${message} ${exception:format=tostring}"
       archiveAboveSize="209715200"
           archiveNumbering="Sequence"
       concurrentWrites="true"
           keepFileOpen="false"
       archiveFileName="log-debug-{####}.txt"

    />

我的目标是每天有几个(根据需要)大小为 200MB(或更少)的文件。

【问题讨论】:

    标签: c# c#-4.0 logging nlog


    【解决方案1】:

    尝试将旧的日志文件存档到其他目录,例如存档。

    将archiveFileName 属性修改为类似

    archiveFileName="${basedir}/Log/archives/log-debug.{#####}.txt"
    

    这里是完整的目标节点

    <target name="debug-file"
                xsi:type="File"
                fileName="${basedir}/Log/log-debug-${date:format=yyyy-MM-dd}.txt"
                layout="${pad:padding=5:inner=${level:uppercase=true}}  ${date}  ${pad:padding=2:inner=${threadid}}  ${message} ${exception:format=tostring}"
           archiveAboveSize="209715200"
               archiveNumbering="Sequence"
           concurrentWrites="true"
               keepFileOpen="false"
           archiveFileName="${basedir}/Log/archives/log-debug.{#####}.txt"
    
        />
    

    请查看https://github.com/nlog/NLog/wiki/File-target#size-based-file-archival了解更多详情。

    【讨论】:

    • 这对我有用,但仍然不明白为什么需要另一个目录?
    • 我还没有机会尝试,但你能验证如果你保持文件名与之前相同会发生什么 fileName="${basedir}/Log/log-debug-${date:format =yyyy-MM-dd}.txt",但是修改archiveFileName="${basedir}/Log/log-debug.{#####}.txt" 看看归档文件是不是在同一个文件夹里创建的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 2020-07-05
    • 2021-12-19
    • 1970-01-01
    相关资源
    最近更新 更多