繁体   English   中英

Nlog数据库日志记录不插入行

[英]Nlog Database logging doesn't insert row

我正在学习NLog,并已开始进行数据库日志记录。 我已经在网络上尝试了多个示例,但没有一个可以实际插入记录。 我看不到为什么由于NLog吞噬了它遇到的任何异常而导致日志尝试失败的原因。 发现我的记录器和配置没有问题。 它像执行该行一样执行该行,但是表仍然为空。 我一步一步地介绍了Nlog的示例,但是它也不起作用! :( Nlog数据库示例

更新:我最终删除并重新开始配置,现在可以使用了。 不知道是什么解决了新配置文件中的问题,但我也意识到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");
}

问题在于asp布局渲染,而缺少它们的软件包。 我也将internalLogging标志设置为无效值。 这些更正解决了该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM