Varsayılan düzeni NLog ile kullandığımda, yalnızca istisnanın adını yazdırır. Log4jxmlevent düzeninin istisna hakkında hiçbir şey yazdırılmadığı söylendi. Hangi düzen bana yardımcı olur?NLog ile istisnaları günlüğe kaydederken Yığın izini nasıl alabilirim?
örnek kod:
try
{
throw new SystemException();
}
catch (Exception ex)
{
logger.Error("oi", ex);
}
Standart düzen çıkışı:
2011-01-14 09:14:48.0343|ERROR|ConsoleApplication.Program|oi
log4jxmlevent çıkışı:
<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>
bu varolan düzeni ilave olarak mı:
web.config
veyaapp.config
) 'de, böyle örneğin düzeninde${exception:format=tostring}
içerir? – Shane@Shane kesinlikle, –
FYI yığın izine ihtiyacınız olmadıkça, bu yaklaşım kullanımdan kaldırılmıştır. https://github.com/NLog/NLog/wiki/How-to-Log-Exceptions – Clay