To programmatically configure NLog

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

namespace NLogger
{
    class Program
    {
        static void Main(string[] args)
        {
            var config = new LoggingConfiguration();

            var consoleTarget = new ColoredConsoleTarget("Console");
            var fileTarget1 = new FileTarget("File1");
            var fileTarget2 = new FileTarget("File2");

             config.AddTarget(consoleTarget);
            config.AddTarget(fileTarget1);
            config.AddTarget(fileTarget2);

            consoleTarget.Layout = @"${date:format=HH\:mm\:ss} ${logger} ${message}";
            fileTarget1.FileName = "${basedir}/file1.txt";
            fileTarget1.Layout = "${message}";
            fileTarget2.FileName = "${basedir}/file2.txt";
            fileTarget2.Layout = "${message}";

            var rule1 = new LoggingRule("Console", LogLevel.Info, consoleTarget);
            var rule2 = new LoggingRule("File1", LogLevel.Info, fileTarget1);
            var rule3 = new LoggingRule("File2", LogLevel.Info,fileTarget2);

            config.LoggingRules.Add(rule1);
            config.LoggingRules.Add(rule2);
            config.LoggingRules.Add(rule3);

            LogManager.Configuration = config;

            Logger logger1 = LogManager.GetLogger("Console");
            Logger logger2 = LogManager.GetLogger("File1");
            Logger logger3 = LogManager.GetLogger("File2");

            logger1.Info("loggingggg1");
            logger2.Info("loggingggg2");
            logger3.Info("loggingggg3");

            Console.Read();
        }
    }
}

댓글

이 블로그의 인기 게시물

Stop console process using Ctrl+C.