C#日志组件使用介绍

NLog是适用于各种.NET平台(包括.NET标准)的灵活,免费的日志记录平台。NLog使写入多个目标变得容易 。(数据库,文件,控制台)并即时更改日志记录配置。
NLog支持结构化 日志记录和传统日志记录。
NLog的重点是:高性能,易于使用,易于扩展和灵活配置。

安装Nlog

可以选择包管理器或包管理器控制台安装,这里我选择使用包管理器控制台安装,当然你也可以选择直接去官网下载,传送门:NLog官网

1. 安装Nlog

Install-Package Nlog

2. 安装Nlog.Config

Install-Package Nlog.Config

配置Nlog

安装完以后会自动引用程序集以及会在工程目录添加NLog.configNLog.xsd 两个文件
打开>> 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">

  <!--用于输出得Layout模板-->
  <variable name="fileFormat" value="
            ${newline}Data:${data}
            ${newline}Level: ${level}
            ${newline}Machinename: ${machinename}
            ${newline}version: ${assembly-version}
            ${newline}Callsite: ${callsite}
            ${newline}Stacktrace: ${stacktrace}
            ${newline}Message: ${message}"/>

  <targets>
    <!--这个目标:最终输出文件类型, 位于根目录中得logs文件夹中, 名称以每日得时间一次生成log文件 , layout: 这个选项为生成的格式-->
    <target xsi:type="File" name="file"
            fileName="${basedir}/Logs/${shortdate}.log"
            layout="${fileFormat}" maxArchiveFiles="1"
            archiveAboveSize="10240"
            archiveEvery="Day"/>
  </targets>

  <rules>
    <!--设定了一个Debug得路由, 最终指向了一个f名称得目标 -->
    <logger name="*" minlevel="Debug" writeTo="file" />
    <logger name="*" minlevel="Info" writeTo="file" />
    <logger name="*" minlevel="Error" writeTo="file" />
  </rules>
</nlog>

Tips:详细配置说明可以去官网查,传送门:Configuration options

使用Nlog

创建实例

private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();

使用Debug进行输出

class Program
    {
        private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();

        static void Main(string[] args)
        {
            Logger.Debug("我出现了意外!");

            Console.ReadKey();
        }
    }

输出日志文件

执行完就会在运行目录下生成一个日志文件,按照之前配置的格式输出到log文件当中

原文地址:https://www.cnblogs.com/chonglu/p/13411167.html