第一次使用NLog

时间:2013-11-26 08:55:06

标签: c# logging nlog

我第一次在winForm应用程序中使用NLog,该应用程序将运行多年。此应用程序还将数据记录在文本文件中。由于该应用程序将运行多年,因此文本文件将增长和增长。这就是我想限制文本文件大小的原因。假设当达到10MB限制时,文本文件开始删除最后的条目以适应新数据。我怎样才能使用NLog。

我的c#项目中的一些地方

private static Logger logger = LogManager.GetCurrentClassLogger();

logger.Trace("Error:.........."); // and similar msgs

我的NLog.config是(它只是将数据记录到文本文件中)

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

  <targets>
    <target name="logfile" xsi:type="File" fileName="${basedir}/file.txt" />
  </targets>

  <rules>
    <logger name="*" minlevel="Info" writeTo="logfile" />
  </rules>
</nlog>

1 个答案:

答案 0 :(得分:3)

您可以将文件大小限制为10MB,并将max arhive files count设置为1:

<target xsi:type="File"
      name="file"
      layout="${longdate}|${level:uppercase=true}|${logger}|${message}"        
      archiveAboveSize="10000000"
      maxArchiveFiles="1"
      archiveFileName="${basedir}/log_archived.txt"
      fileName="log.txt" />

当文件扩展10MB时,它将被存档,并且日志记录将继续到新文件。当新文件扩展10MB时,它将替换存档文件。因此,您将拥有两个文件 - 当前和已存档。