0
我正在學習NLog並已轉移到數據庫日誌記錄。我在網上嘗試了多個例子,並且無法讓他們實際插入記錄。我看不出爲什麼日誌嘗試失敗,原因是NLog吞噬了任何異常。我的記錄器和配置沒有問題。它執行該行,就像它工作一樣,但表仍然是空的。我在Nlog的例子上邁出了一步,但它也行不通! :( Nlog Database ExampleNlog數據庫日誌記錄不插入行
更新:我最終刪除,並在配置重新開始,現在的作品不知道從什麼新的配置文件解決了該問題,但我也意識到了ASP渲染造成了錯誤,所以我刪除它們。 。
<target name="db"
xsi:type="Database"
dbProvider="System.Data.SqlClient"
connectionString="Data Source=Server;Initial Catalog=Database;Persist Security Info=True;Integrated Security=SSPI;"
commandType="StoredProcedure"
commandText="[dbo].[NLog_AddEntry_p]">
<parameter name="@machineName" layout="${machinename}" />
<parameter name="@siteName" layout="${iis-site-name}" />
<parameter name="@logged" layout="${date}" />
<parameter name="@level" layout="${level}" />
<parameter name="@username" layout="${aspnet-user-identity}" />
<parameter name="@message" layout="${message}" />
<parameter name="@logger" layout="${logger}" />
<parameter name="@properties" layout="${all-event-properties:separator=|}" />
<parameter name="@serverName" layout="${aspnet-request:serverVariable=SERVER_NAME}" />
<parameter name="@port" layout="${aspnet-request:serverVariable=SERVER_PORT}" />
<parameter name="@url" layout="${aspnet-request:serverVariable=HTTP_URL}" />
<parameter name="@https" layout="${when:inner=1:when='${aspnet-request:serverVariable=HTTPS}' == 'on'}${when:inner=0:when='${aspnet-request:serverVariable=HTTPS}' != 'on'}" />
<parameter name="@serverAddress" layout="${aspnet-request:serverVariable=LOCAL_ADDR}" />
<parameter name="@remoteAddress" layout="${aspnet-request:serverVariable=REMOTE_ADDR}:${aspnet-request:serverVariable=REMOTE_PORT}" />
<parameter name="@callSite" layout="${callsite}" />
<parameter name="@exception" layout="${exception:tostring}" />
</target>
try
{
int zero = 0;
int result = 100/zero;
}
catch (Exception ex)
{
Logger filelogger = LogManager.GetLogger("filelogger");
Logger dblogger = LogManager.GetLogger("dblogger");
//filelogger.Error(ex, "Whoops");
dblogger.Error(ex, "Whoops");
}
更新我得到了內部記錄t o工作,現在我看到Nlog正在拋出的錯誤。它回來了一個未知的日誌級別:真正的錯誤。網絡似乎對nlog的這個錯誤非常有限,而且我多次瀏覽了配置並且無法看到問題。我開始懷疑這是否是Nlog中的一個錯誤。 – user1732364
'true'不是日誌級別。它應該是像調試,信息,錯誤等。所以可能你在你的配置'真',而日誌級別的預期。 – Julian
這是正確的,這是問題之一:) – user1732364