Veritabanını destekleyen veritabanını kapattığımda, hiçbir şey günlüğe kaydedilir ve NLog sorunu yutuyor gibi görünüyor. Yükseltme ve istisna veya en azından oturum açan bir metin dosyasına oturum açmak için yapılandırmak için herhangi bir yolu var mı?Nlog, veritabanına günlüğe kaydetme başarısız olduğunda bir istisna atmaya nasıl zorlanır?
<?xml version="1.0" ?>
<nlog autoReload="true" throwExceptions="true" internalLogFile="${basedir}/App_Data/nlog.txt" internalLogLevel="Debug"
internalLogToConsole="true">
<targets>
<!--Useful for debugging-->
<target name="consolelog" type="ColoredConsole"
layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}" />
<target name="databaselog" type="Database">
<dbProvider>System.Data.SqlClient</dbProvider>
<!-- database connection parameters -->
<!-- alternatively you could provide a single 'connectionstring' parameter -->
<connectionString>Data Source=.\SQLEXPRESSZ;Initial Catalog=aspnetdb;Integrated Security=SSPI</connectionString>
<commandText>
insert into NLog_Error ([time_stamp],[level],[host],[type],[source],[logger],[message],[stacktrace],[allxml]) values(@time_stamp,@level,@host,@type,@source,@logger,@message,@stacktrace,@allxml);
</commandText>
<parameter name="@time_stamp" layout="${utc_date}" />
<parameter name="@level" layout="${level}" />
<parameter name="@host" layout="${machinename}" />
<parameter name="@type" layout="${exception:format=type}" />
<parameter name="@source" layout="${callsite:className=true:fileName=false:includeSourcePath=false:methodName=false}" />
<parameter name="@logger" layout="${logger}" />
<parameter name="@message" layout="${message}" />
<parameter name="@stacktrace" layout="${exception:stacktrace}" />
<parameter name="@allxml" layout="${web_variables}" />
</target>
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="databaselog" />
</rules>
</nlog>
1) Olmadı, ama işe yaradı ... Şimdi her zaman Kopyala'ya ayarladım. 2) Günlüğe kaydetme gerçekten iyi çalışıyor, ancak benim sorunum SQL Server'ı kapatırsam, NLog hiçbir özel durum atmaz veya veritabanlarına giriş yapamayacağı bir yere giriş yapamaz. NLog'un istisnalarını yakalamak ve ele almak istiyorum. – m0s