Log4Net DB日志记录在开发但不是Live服务器上工作

时间:2015-10-28 12:32:25

标签: .net log4net

我们正在使用其中一个服务应用程序上的Log4Net日志记录来记录文件和数据库。在我们的开发服务器上,两种日志记但是,在我们的Staging和Live服务器上,数据库日志记录不起作用。但是文件记录工作正常。

我已经确认SQL权限是正确的,并且两个系统上的日志表/触发器/约束都是相同的。

我应该提一下,我们正在使用配置转换,以便根据我们的环境更改将要登录的数据库。我可以确认正在将正确的DB注入到配置中。

由于其他限制,我目前无法启用log4Net调试日志记录。还有什么应该检查吗?其他配置?或者我是否必须为我们设计一种启用log4Net debuging的方法。

配置可以在下面找到(Sql config redacted):

<configuration>
    <system.diagnostics>
        <trace autoflush="true" />
    </system.diagnostics>
    <system.web>
        <compilation>
            <assemblies>

                <remove assembly="ClearScriptV8-64" />
                <remove assembly="ClearScriptV8-32" />
               ....
            </assemblies>
        </compilation>

Log4Net配置:

foreach ( $cart_object->cart_contents as  $value ) {
        $_product     = apply_filters( 'woocommerce_cart_item_product', $value['data'] );

        if ( ! $_product->is_visible() ) {
                echo $_product->get_title();
        } else {
                echo $_product->get_title();
        }


     }

1 个答案:

答案 0 :(得分:0)

我最终找到了一个解决方案,该解决方案使用转换直接替换log4Net配置部分中的连接字符串,而不是连接字符串。

<log4net>
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender" xdt:Locator="Match(name)">
  <connectionString value="Data Source=[server];Initial Catalog=[table];User Id=[user];Password=[password];" xdt:Transform="Replace"/>
</appender>