美文网首页.NETC#dotNET
NLog学习2—简单使用

NLog学习2—简单使用

作者: 张中华 | 来源:发表于2019-01-08 23:05 被阅读28次

在对NLog有了一定的了之后,先做一个实例简单的使用一下,初步通过代码对NLog有进一步的了解。
创建一个.net framework 4.5的控制台应用程序,引入NLog:

Install-Package NLog.Config

当然,也可以手动下载引用,可参考网址:https://nlog-project.org/download/
这里因为网络问题,并没有成功Install,此处是将之前下载好的NLog.dll加入引入。
之后在app.config中添加配置:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
  <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
  </configSections>
  <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <targets>
      <target name="console" xsi:type ="Console" layout="${longdate} : ${message}"/>
      <target name="debugger" xsi:type="File" fileName="${basedir}/Logs/debugger.txt" layout="${longdate} : ${message}"/>
      <target name="info" xsi:type="File" fileName="${basedir}/Logs/info.txt" layout="${longdate} : ${message}"/>
    </targets>

    <rules>
      <logger name="*" writeTo="console" />
      <logger name="*" minlevel="Debug" writeTo="debugger" />
      <logger name="*" minlevel="Info" writeTo="info" />
    </rules>
  </nlog>
    <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>
这里先做一个简单的配置,加了3种输出方式,一种是控制台输出,一种是输出Debug日志,一种是Info日志。

先看一下console, rules是将内容输出至console, 在target中的console, 类型是输出在控制台,内容格式:"日期:内容"。
Debug的rules 和target类似,此时添加了一个最小level为Debug,也就是使用Debug时,Loglevel的最小level为debug, 输出不了为Info的信息,但是Info可以输出为debug的信息。

注意:

startup标签,放置在Nlog之后,如果放在最上面,则无法使用该功能。

使用NLog,并使用代码,如下:

using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace NLogTest
{
    class Program
    {
        static void Main(string[] args)
        {
            LoggerHelper.WriteLog("hello, debugger", LogLevel.Debug);

            Console.ReadKey();
        }
    }

    public class LoggerHelper
    {
        private static Logger logger = LogManager.GetCurrentClassLogger();

        public static void WriteLog(string message, LogLevel logLevel)
        {
            if (string.IsNullOrEmpty(message))
                return;
            var type = logger.GetType();
            type.InvokeMember(logLevel.ToString(), BindingFlags.Default | BindingFlags.InvokeMethod, null, logger, new object[] { message });
        }

        public static void WriteLog(string message, Exception ex, LogLevel logLevel)
        {
            if (string.IsNullOrEmpty(message))
                return;
            var type = logger.GetType();
            type.InvokeMember(logLevel.ToString(), BindingFlags.Default | BindingFlags.InvokeMethod, null, logger, new object[] { message, ex });
        }
    }
}

执行验证:
控制台输出:



日志文件:



此时的在不同的文件中info时间是相同的,可是真的相同吗?之后再做了解……
补充信息:

LogLevel的等级:
Debug;
Error;
Fatal;
Info;
Off;
Trace;
Warn;


相关文章

  • 第三方框架

    日志框架 NLog NLog初识使用NLog学习1—简介NLog学习2—简单使用NLog学习3—如何把NLog玩得...

  • NLog学习3—如何把NLog玩得游刃有余

    目录 NLog学习1—简介NLog学习2—简单使用 通过前面两节的学习,已经能够简单的使用NLog进行一些log的...

  • NLog学习2—简单使用

    在对NLog有了一定的了之后,先做一个实例简单的使用一下,初步通过代码对NLog有进一步的了解。创建一个.net ...

  • NLog

    NLog 简括 NLog是一个简单灵活的.NET日志记录类库。通过使用NLog,我们可以在任何一种.NET语言中输...

  • C#使用日志Nlog

    一,安装Nlog 这里使用Nuget添加Nlog的引用,在项目上右键->管理Nuget程序包,输入nlog查找,然...

  • NLog的使用

    1.新建控制台应用程序,引入NLog.dll PM > Install-Package Nlog 2.添加配置文件...

  • NLog学习1—简介

    NLog官网    NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调...

  • 排序算法4-希尔排序

    希尔排序 平均时间复杂度:O(nlogn) 最好情况:O(nlog^2n) 最坏情况:O(nlog^2n) 空间复...

  • NLog简介

    安装NLog asp.net core需要使用另外一个教程 在VS里安装NLog.Config包,这个包会自动安装...

  • .NET中使用NLog记录日志

    以前小编记录日志使用的是Log4Net,虽然好用但和NLog比起来稍显复杂。下面小编就和大伙分享一下NLog的使用...

网友评论

    本文标题:NLog学习2—简单使用

    本文链接:https://www.haomeiwen.com/subject/gtwerqtx.html