using NLog.Config; using NLog.Targets; using System; using System.Collections.Generic; namespace NLog { class Program { static void Main(string[] args) { List list = new List(); 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!!!"); } } }