ich nach einem Weg suchen ausdrucksstarke Nachrichten zu protokollieren, wenn ich fangen eine Ausnahme mit NLog 2.0.1, so etwas wieNLog Argumente für Errormeldung
try {
....
}
catch(Exception ex) {
logger.ErrorException("Error with query {0}", query, ex);
}
Aber NLog unterstützt es nicht. Andere Formen, die mir passiert haben, sind
logger.ErrorException( String.Format("Error with query {0}", query)) , ex);
oder
logger.Error("Error with query {0} {1} {2}", query, ex.Message, ex.StackTrace);
oder
logger.Error("Error with query {0}", query);
logger.ErrorException("", ex);
oder
LogEventInfo ei = new LogEventInfo(LogLevel.Error, logger.Name, null,
"Error with query {0}", new object[] { query }, ex);
logger.Log(ei);
Aber keiner scheint so einfach wie Anrufe zu logger.Error()
Im Moment ist die erste Option meine favority trotz Format eine Zeichenfolge, wird vielleicht nicht verwendet werden:
- für exceptions die zweite Option nicht die Layout-Optionen.
- Die dritte erstellt zwei Einträge im Protokoll und wird möglicherweise verwirrend sein.
- die vierte Option ist viel weniger klar.
Es gibt noch mehr?
'String.Format (" Fehler mit Abfrage% s ", Abfrage)' Ist das C#? –
ups .. Ich machte mit Java aus. Bearbeitet – Narkha
Warum nicht einfach eine Erweiterungsmethode schreiben? –