首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >首次使用NLog

首次使用NLog
EN

Stack Overflow用户
提问于 2013-11-26 08:55:06
回答 1查看 465关注 0票数 4

我第一次在winForm应用程序中使用winForm,这款应用可能会运行数年。这个应用程序也在文本文件中记录数据。由于应用程序将运行数年,所以文本文件将不断增长。这就是为什么我想限制文本文件的大小。假设达到10 to限制时,文本文件将开始删除最后一个条目,以适应新数据。我怎么能用NLog做这件事呢?

在我的c#项目中

代码语言:javascript
复制
private static Logger logger = LogManager.GetCurrentClassLogger();

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

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

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

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-26 08:59:20

您可以将文件大小限制为10 to,并将最大arhive文件计数设置为1:

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20212311

复制
相关文章

相似问题

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