Nlog不会删除日志文件

时间:2014-05-14 11:46:33

标签: c# asp.net-mvc file logging nlog

我正在创建一个ASP MVC应用程序。我用于NLOG这个配置文件

 <?xml version="1.0" encoding="utf-8" ?>

  

  

    

<target name="file"
        xsi:type="File"
        layout="${date}|${level}|${message}"
        fileName="C:\Log\log.txt"
        createDirs="true"
        archiveEvery="Day"
        concurrentWrites="true"
        archiveFileName="CopyLogs\${LogFileName}.{#####}.${LogFileExtension}"
        archiveAboveSize="500000" maxArchiveFiles="200"
        archiveNumbering="Rolling"
        deleteOldFileOnStartup="false"
 />

 </targets>

  <rules>
    <!-- add your logging rules here -->
      <logger name="*" minlevel="Info" writeTo="file" />
  </rules>
</nlog>

当日志文件大小等于archiveAboveSize时 - 日志记录停止。删除现有文件时,会创建并写入新的日志文件。如何为NLOG正确创建配置文件?

1 个答案:

答案 0 :(得分:-1)

查看NLog Wiki

基于大小的文件存档

日志文件可以在达到特定大小后将其移动到其他位置,从而自动存档。以下配置将创建logs / logfile.txt,该文件将存档到archives / log.000000.txt&#39;,archives / log.000001.txt&#39;,archives / log.000002.txt&#39;一旦主日志文件达到10KB,就等等。

<?xml version="1.0" ?>
    <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <targets>
        <target name="file" xsi:type="File"
            layout="${longdate} ${logger} ${message}" 
            fileName="${basedir}/logs/logfile.txt" 
            archiveFileName="${basedir}/archives/log.{#####}.txt"
            archiveAboveSize="10240"
            archiveNumbering="Sequence"
            concurrentWrites="true"
            keepFileOpen="false"
            encoding="iso-8859-2" />
    </targets>

    <rules>
        <logger name="*" minlevel="Debug" writeTo="file" />
    </rules>
</nlog>