2017-08-17 3 views

Antwort

1

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.

+0

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() { } } ' –

+1

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(); '. –

+0

Mein Fehler. Es klappt. Vielen Dank. –

Verwandte Themen