我有這些目標:
<target xsi:type="File" name="myAppLoggerTarget" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
<target xsi:type="Database"
name="myAppLoggerTarget"
connectionString="Data Source=R5-4500U\SQLEXPRESS;Initial Catalog=BlogDb;Integrated Security=True;"
commandText="INSERT INTO Logs(CreatedOn,Message,Level,Exception,StackTrace,Logger,Url) VALUES (@datetime,@msg,@level,@exception,@trace,@logger,@url)">
<parameter name="@datetime" layout="${date}" />
<parameter name="@msg" layout="${message}" />
<parameter name="@level" layout="${level}" />
<parameter name="@exception" layout="${exception}" />
<parameter name="@trace" layout="${stacktrace}" />
<parameter name="@logger" layout="${logger}" />
<parameter name="@url" layout="${aspnet-request-url}" />
</target>
而這條規則:
<logger name="myAppLoggerRules" minlevel="Debug" writeTo="myAppLoggerTarget" />
出于某種原因,當我呼叫例如:
GetLogger("myAppLoggerRules").Debug(message);時,日志只保存到資料庫,而不是檔案。
當我注釋掉資料庫目標時,檔案目標作業正常......
uj5u.com熱心網友回復:
我很確定每個目標都需要唯一的名稱。所以你的代碼應該是:
<target xsi:type="File" name="file" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
<target xsi:type="Database"
name="database"
connectionString="Data Source=R5-4500U\SQLEXPRESS;Initial Catalog=BlogDb;Integrated Security=True;"
commandText="INSERT INTO Logs(CreatedOn,Message,Level,Exception,StackTrace,Logger,Url) VALUES (@datetime,@msg,@level,@exception,@trace,@logger,@url)">
<parameter name="@datetime" layout="${date}" />
<parameter name="@msg" layout="${message}" />
<parameter name="@level" layout="${level}" />
<parameter name="@exception" layout="${exception}" />
<parameter name="@trace" layout="${stacktrace}" />
<parameter name="@logger" layout="${logger}" />
<parameter name="@url" layout="${aspnet-request-url}" />
</target>
...
<logger name="myAppLoggerRules" minlevel="Debug" writeTo="file" />
<logger name="myAppLoggerRules" minlevel="Debug" writeTo="database" />
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/498399.html
上一篇:C#:從List<String>...中洗掉一個專案并且該專案未被識別為字串?
下一篇:WPF-GridRows間距混淆
