NLog的使用

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1、在Nuget上安装NLog

2、新建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"

      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"

      autoReload="true"

      throwExceptions="false"

      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">

 

  <!-- optional, add some variables

  https://github.com/nlog/NLog/wiki/Configuration-file#variables

  -->

    <!--

  <variable name="myvar" value="myvalue"/>

    -->

    <variable name="fileFormat"

            value="

            ${newline}date: ${date}

            ${newline}level: ${level}

            ${newline}logger: ${logger}

            ${newline}machinename: ${machinename}

            ${newline}message: ${message}

            ${newline}appdomain: ${appdomain}

            ${newline}assembly-version: ${assembly-version}

            ${newline}basedir: ${basedir}

            ${newline}callsite: ${callsite}

            ${newline}counter: ${counter}

            ${newline}nlogdir: ${nlogdir}

            ${newline}processid: ${processid}

            ${newline}processname: ${processname}

            ${newline}specialfolder: ${specialfolder}

            ${newline}stacktrace: ${stacktrace}

            ${newline}------------------------------------------------------------" />

 

  <!--

  See https://github.com/nlog/nlog/wiki/Configuration-file

  for information on customizing logging rules and outputs.

   -->

  <targets>

 

    <!--

    add your targets here

    See https://github.com/nlog/NLog/wiki/Targets for possible targets.

    See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.

    -->

 

    <!--

    Write events to a file with the date in the filename.

    <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"

            layout="${longdate} ${uppercase:${level}} ${message}" />

    -->

 

      <target name="file" xsi:type="File"

            fileName="${basedir}/Logs/${date:format=yyyy-MM}/${shortdate}.log"

            layout="${fileFormat}"

            maxArchiveFiles="5"

            archiveAboveSize="10240" />

     

  </targets>

 

  <rules>

    <!-- add your logging rules here -->

 

    <!--

    Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace)  to "f"

    <logger name="*" minlevel="Debug" writeTo="f" />

    -->

 

    <!--

        Level    Example

        Fatal    Highest level: important stuff down

        Error    For example application crashes / exceptions.

        Warn    Incorrect behavior but the application can continue

        Info    Normal behavior like mail sent, user updated profile etc.

        Debug    Executed queries, user authenticated, session expired

        Trace    Begin method X, end method X etc

    -->

    <!--

        Logging 水平分为以下等级“Trace<<Debug<<Info<<Warn<<Error<<Fatal ”,如果我们选择Info值,则Trace和Debug等级的信息不会被输出。

    -->

     <logger name="*" minlevel="Trace" writeTo="file"/>

  </rules>

</nlog>

3、建立Log类

public sealed class Log
{
    private static NLog.Logger _logger = NLog.LogManager.GetCurrentClassLogger();

    private Log() { }

    public static void Trace(string strMsg)
    {
        _logger.Trace(strMsg);
    }

    public static void Debug(string strMsg)
    {
        _logger.Debug(strMsg);
    }

    public static void Info(string strMsg)
    {
        _logger.Info(strMsg);
    }

    public static void Warn(string strMsg)
    {
        _logger.Warn(strMsg);
    }

    public static void Error(string strMsg)
    {
        _logger.Error(strMsg);
    }

    public static void Fatal(string strMsg)
    {
        _logger.Fatal(strMsg);
    }

}

4、将NLog属性修改为始终复制

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值