Puffert Protokollmeldungen in NLog und spült sie manuell zum Ziel

8

Ich versuche über das NLog MailTarget zu loggen. Es funktioniert gut, aber ich wollte das mailtarget mit dem BufferedTargetWrapper um die Protokollnachrichten bis zu einem vordefinierten Codepoint, wo ich den Puffer manuell leeren möchten und die zuvor gepufferten Protokollnachrichten von einer einzigen Mail (wie in definiert Mailziel).

Wenn ich ein FlushTimeout oder das BufferSize des BufferedTargetWrapper definiere, funktioniert alles immer noch gut, wie angenommen. Aber wenn die FlushTimeout und die BufferSize nicht gesetzt ist, kann ich es nicht zum Laufen bringen.

Wie in dieser Frage auf SO geantwortet "BufferingTargetWrapper zu leeren ich habe so etwas nicht:

%Vor%

Aber die Dokumentation und diese Antwort widersprechen meiner NLog-Version (2.0.0.2000). Es gibt keine Flush-Methode ohne Parameter, nur die Flush-Methode für asynchrone Ziele.

Gibt es eine Möglichkeit, den BufferingTargetWrapper zu zwingen, alle protokollierten Nachrichten an das umschlossene Ziel zu senden (um es per Mail zu senden)?

    
dasheddot 16.11.2011, 14:31
quelle

1 Antwort

14

Laut der Dokumentation sollte Ihr Ansatz nicht funktionieren, aber es ist in Ordnung. Gib der Flush-Methode einfach einen leeren Lambda-Ausdruck:

%Vor%     
l.poellabauer 23.11.2011, 19:52
quelle

Tags und Links