在C#Web應用程序中使用NLog時,我使用存儲過程而不是SQL INSERT語句存在一些問題。連接字符串「Logger」在Web.config中正確配置,並且在用SQL語句替換commandText時正常工作。我希望向正確的方向提示。在這個例子中,存儲過程在「日誌」模式下,它被稱爲「LogError」。在數據庫目標上的NLog中使用存儲過程
<targets>
<target xsi:type="Database"
name="dberrorlog"
connectionStringName="Logger"
keepConnection="true"
commandText="[Logs].[LogError]" >
<parameter name="@ProgName" layout="MyAppName"/>
<parameter name="@CompName" layout="${machinename}"/>
<parameter name="@LogLevel" layout="${level}"/>
<parameter name="@UserName" layout="${identity}"/>
<parameter name="@Error" layout="${exception:format=Message}"/>
<parameter name="@SourceObj" layout="${exception:format=Method}"/>
<parameter name="@StackTrace" layout="${exception:format=StackTrace}"/>
</target>
</targets>
<rules>
<logger name="*" minlevel="Error" writeTo="dberrorlog" />
</rules>
謝謝,這個伎倆。我沒有想到我可以致電exec。它在內部調用sp_executesql – Diego 2011-03-08 20:49:01
@adrift到NLog論壇帖子的鏈接現在是多餘的。 – chridam 2014-03-21 15:51:22