using NLog.Config;
using NLog.Targets;
using System;
using System.Collections.Generic;

namespace NLog
{
    class Program
    {
        static void Main(string[] args)
        {
            List<MyClass> list = new List<MyClass>();
            var a = new MyClass("red");
            var b = new MyClass("yellow");
            var c = new MyClass("blue");
            var d = new MyClass("green");
            list.Add(a); list.Add(b); list.Add(c); list.Add(d);
            list.ForEach(l => l.DoingWork());
        }
    }

    public class MyClass
    {
        private string privateLogFileName;
        NLog.Logger logger;//= NLog.LogManager.LoadConfiguration("nlog.config").GetLogger("PumpHandler");
        public MyClass(string privateLogFileName)
        {
            this.privateLogFileName = privateLogFileName;
            this.logger = LogManager.GetLogger("DynamicPrivate_" + privateLogFileName);
            this.logger.Debug("you init a logger file: " + privateLogFileName);
        }

        public void DoingWork()
        {
            this.logger.Debug(privateLogFileName + " is doing my work!!!");
        }
    }
}