NLog的使用

 

官方网址:https://nlog-project.org/

中文文档:https://www.cnblogs.com/animal/p/4062813.html

简单说

NLog是适用于各种.NET平台的免费日志记录平台。NLog可写入数据库,文件,控制台,并可即时更改日志记录配置。日志的配置可通过修改配置文件和修改代码,修改配置文件后不必重启应用程序。

NLog可写入的目标类型:

  • 文件:通过自动文件命名和归档将日志写入任意数量的文件。 默认情况下,NLog不会锁定文件

  • 事件日志:可写入本地或远程

  • 数据库

  • 控制台:实时写入命令行控制台,包括消息的颜色编码

  • E-mail

模板

1.以下target模板,适用于简单要求场景:保存7天的日志信息,当前日志名为logs_current.txt,过往日志名为logs_archive{1-7}.txt

2.以下target模板:在日志信息中显示方法名称,只保存40天的日志,当前日志为logs_current.txt, 过往日志为logs_archive{Date}.zip。





      

    







代码的调用

实例化:

private static readonly ILogger logger = LogManager.GetCurrentClassLogger();

写入日志:

​​​​​​​logger.Info("Start");

logger.Error(e);

Note:

xsi:type="AsyncWrapper":异步写入日志

timeToSleepBetweenBatche 设置批次之间休眠的时间,设置为0或1则是只有在写入日志时,才触发计时器

queueLimit - 缓存队列的大小。默认1000

batchSize - 一个批次处理的事件数量。默认:100 (NLog 4.4.2和更高版本的默认值:200)

overflowAction - 当缓冲区溢出时的行为。默认:Discard

  • Block - 阻止写入直到缓冲区有空间
  • Discard - 抛弃溢出的数据.
  • Grow - 增大缓冲区

​​​​​​​​​​​​​​keepFileOpen-设置是否保持日志文件打开,而不是在每次记录事件时打开和关闭它。 将此属性更改为true可以大大提高性能。

文件配置的详细信息,可参考官方文档:

https://github.com/NLog/NLog/wiki/File-target
 

 

你可能感兴趣的:(C#,NLog,日志)