Hallo Ich habe eine gemeinsame Utilities-Klasse, die einige Informationen in der Klasse protokolliert, und ich werde diese Klasse aus verschiedenen Klassen aufrufen. Wie sollte mein Nlog deklariert werden, damit ich den Logger von verschiedenen Anrufern trennen kann.NLog: Gibt es eine gute Übung, wenn man einen Holzfäller an den Klassen vorbeiführt?
Ich habe das folgende Beispiel, wo ich möchte, dass Log das Protokoll produzieren von Utilities-Klasse in CallerA und CallerB Logger entsprechend, sollte ich nur meine Logger-Referenz auf Utilities-Klasse übergeben? Ich habe gehört, dass es eine gute Übung ist, einen Logger für eine Klasse zu behalten.
Ihre Beratung wird sehr geschätzt =)
namespace Common { public class Utilities { private static readonly Logger _logger = LogManager.GetCurrentClassLogger(); public void DoSomething() { _logger.Info("log here"); } } } namespace ProjectA { public class CallerA { private static readonly Logger _logger = LogManager.GetCurrentClassLogger(); public void CallerMethod() { new Common.Utilities().DoSomething(); } } } namespace ProjectB { public class CallerB { private static readonly Logger _logger = LogManager.GetCurrentClassLogger(); public void CallerMethod() { new Common.Utilities().DoSomething(); } } }
Hallo Julian Dank für Ihre Antwort eine C# Erweiterung schreiben würde. Aber ich glaube, du hast mich falsch verstanden. Ich möchte "log here" in Logger für CallerA und CallerB entsprechend gedruckt werden. – Dreteh