Wie erhält man den Stack-Trace beim Loggen von Exceptions mit NLog?
Wenn ich das Standard-layout mit NLog es druckt nur den Namen der Ausnahme ein.
Mir wurde gesagt, dass die log4jxmlevent layout nicht druckt nichts über die Ausnahme.
Was das layout wird mir helfen?
Beispiel-code:
try
{
throw new SystemException();
}
catch (Exception ex)
{
logger.Error("oi", ex);
}
Standard-layout Ausgabe:
2011-01-14 09:14:48.0343|ERROR|ConsoleApplication.Program|oi
log4jxmlevent Ausgabe:
<log4j:event logger="ConsoleApplication.Program"
level="ERROR"
timestamp="1295003776872"
thread="9">
<log4j:message>oi</log4j:message>
<log4j:NDC />
<log4j:locationInfo class="ConsoleApplication.Program"
method="Void Main(System.String[])"
file="C:\Users\User\Documents\Visual Studio 2010\Projects\ConsoleApplication\ConsoleApplication\Program.cs"
line="21" />
<nlog:eventSequenceNumber>3</nlog:eventSequenceNumber>
<nlog:locationInfo assembly="ConsoleApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<log4j:properties>
<log4j:data name="log4japp"
value="true" />
<log4j:data name="log4jmachinename"
value="MACHINE" />
</log4j:properties>
InformationsquelleAutor der Frage Jader Dias | 2011-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Musste ich verwenden Sie eine der
Logger.
+ Level +Exception
Methoden:sowie ein benutzerdefiniertes layout
InformationsquelleAutor der Antwort Jader Dias
Verwenden Sie die überladungen, die eine Ausnahme, wie das zweite argument:
Dann in Ihrem layout enthalten die
${exception}
layout-renderer:Quellen:
InformationsquelleAutor der Antwort Clay
Dokumentiert, wie in Wie Sie sich Ausnahmen, beginnend mit NLog 4.0, die Ausnahme übergeben als ersten parameter
Error
wie zum Beispiel diese:In der NLog-Konfiguration (z.B. in
web.config
oderapp.config
), gehören${exception:format=tostring}
im layout, wie zum Beispiel diese:InformationsquelleAutor der Antwort Edward Brey