Logging in NLog mit LogManager.DisableLogging();
Disable nlog Protokollierung in Postsharp 5.x
Mit Postsharp + NLog Kombination deaktiviert werden, wie kann ich es tun?
Logging in NLog mit LogManager.DisableLogging();
Disable nlog Protokollierung in Postsharp 5.x
Mit Postsharp + NLog Kombination deaktiviert werden, wie kann ich es tun?
Die Aktivierung und Deaktivierung der PostSharp-Protokollierung wird ausführlich unter http://doc.postsharp.net/log-enabling beschrieben. Kurz
, haben Sie zwei Möglichkeiten:
1) Deaktivieren Sie die Protokollierung über die Postsharp API für eine bestimmte Logging-Rolle und Namespace, zum Beispiel
LoggingServices.DefaultBackend.GetSource(LoggingRoles.Tracing, MyCompany.BusinessLayer").SetLevel(LogLevel.Debug);
2) Verwenden Sie die Protokollierung Hinter- API beenden
Möglicherweise müssen Sie einige Einstellungen vornehmen, bevor Sie diese Vorgehensweise wie im Dokument beschrieben verwenden.
Allerdings wird die LogManager.DisableLogging();
von NLog von PostSharp out of the box erkannt, so dass Sie diese verwenden können, um die Protokollierung komplett einschließlich PostSharp Protokollierung zu deaktivieren.
Im folgenden Code hat LogManager.DisableLogging() keine Auswirkungen und ich bekomme immer noch die Methode Eingabe/Ausfahrt Traces. 'static void Haupt (string [] args) { LoggingServices.DefaultBackend = neu PostSharp.Patterns.Diagnostics.Backends.Console.ConsoleLoggingBackend(); NLog.LogManager.DisableLogging(); f(); } [Anmelden] public static void f() { } } ' –
Das ist, weil Sie die' ConsoleLoggingBackend' anstatt die 'NLogLoggingBackend' verwenden. Um die PostSharp-Protokollierung mit NLog durchzuführen, fügen Sie Pakete * PostSharp.Patterns.Diagnostics * und * PostSharp.Patterns.Diagnostics.NLog * zu Ihrem Projekt hinzu, initialisieren Sie NLog gemäß der NLog-Dokumentation und setzen Sie PostSharp so, dass NLog von 'LoggingServices.DefaultBackend = new verwendet wird PostSharp.Patterns.Diagnostics.Backends.Console.NLogLoggingBackend(); '. –
Mein Fehler. Es klappt. Vielen Dank. –
Warum nicht 'LogManager.DisableLogging()' aufrufen? – Julian