Nlog

using NLog;
using NLog.Config;
using NLog.Targets;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShoppingTools
{
    public class NlogConfig
    {
        public static void Config()
        {
            // Step 1. Create configuration object 
            var config = new LoggingConfiguration();

            var fileTarget = new FileTarget();
            config.AddTarget("file", fileTarget);
            fileTarget.FileName = "${basedir}/file.txt";
            fileTarget.Layout = "${message}";

            var fileTarget1 = new FileTarget();
            config.AddTarget("file", fileTarget1);
            fileTarget1.FileName = "${basedir}/Logs/${shortdate}/${shortdate}.txt";
            fileTarget1.Layout = "${longdate}|${event-properties:item=EventId_Id:whenEmpty=0}|${uppercase:${level}}|${logger}|${callsite}:${callsite-linenumber}|${message} ${onexception:${exception:format=message} ${newline} ${stacktrace} ${newline}";
            fileTarget1.ArchiveFileName = "${basedir}/Logs/archives/${shortdate}-{#####}.txt";
            fileTarget1.ArchiveAboveSize = 1024000;
            fileTarget1.ArchiveNumbering = ArchiveNumberingMode.Sequence;

            var fileTarget2 = new FileTarget();
            config.AddTarget("file", fileTarget2);
            fileTarget2.FileName = "${basedir}/Logs/${shortdate}/${shortdate}_weixin.txt";
            fileTarget2.Layout = "${longdate}|${event-properties:item=EventId_Id:whenEmpty=0}|${uppercase:${level}}|${logger}|${callsite}:${callsite-linenumber}|${message} ${onexception:${exception:format=message} ${newline} ${stacktrace} ${newline}";
            fileTarget2.ArchiveFileName = "${basedir}/Logs/archives/${shortdate}_weixin-{#####}.txt";
            fileTarget2.ArchiveAboveSize = 1024000;//字节
            fileTarget2.ArchiveNumbering = ArchiveNumberingMode.Sequence;

      
            config.LoggingRules.Add(new LoggingRule(NlogLogger.Common_File.ToString(), LogLevel.Debug, fileTarget));

            config.LoggingRules.Add(new LoggingRule(NlogLogger.Log.ToString(), LogLevel.Debug, fileTarget1));

            config.LoggingRules.Add(new LoggingRule(NlogLogger.WeiXin.ToString(), LogLevel.Debug, fileTarget2));


            LogManager.Configuration = config;


            NLog.LogManager.GetLogger(NlogLogger.Log.ToString()).Debug("Hello,Nlog~~~~");
            NLog.LogManager.GetLogger(NlogLogger.WeiXin.ToString()).Debug("Hello,Nlog~~~~");
        }
       public enum NlogLogger
        {
            Common_File,
            Log,
            WeiXin

        }
    }

}
原文地址:https://www.cnblogs.com/wangyinlon/p/14260556.html