2016-05-06 103 views
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"); 
} 
+0

更新我得到了內部記錄t o工作,現在我看到Nlog正在拋出的錯誤。它回來了一個未知的日誌級別:真正的錯誤。網絡似乎對nlog的這個錯誤非常有限,而且我多次瀏覽了配置並且無法看到問題。我開始懷疑這是否是Nlog中的一個錯誤。 – user1732364

+0

'true'不是日誌級別。它應該是像調試,信息,錯誤等。所以可能你在你的配置'真',而日誌級別的預期。 – Julian

+0

這是正確的,這是問題之一:) – user1732364

回答

0

的問題是與ASP佈局呈現和缺少一個包他們。此外,我已經設置internalLogging標誌爲無效值。這些修正解決了這一問題。