【问题标题】:Log4Net working locally but not on remote Azure DBLog4Net 在本地工作,但不在远程 Azure DB 上
【发布时间】:2013-06-14 09:02:06
【问题描述】:

我在本地开发了一个 ASP.NET MVC 应用程序并使用 Log4Net 通过以下连接字符串 (log4net.config) 在本地数据库上记录消息:

<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="Data Source=.\;Initial Catalog=MyDatabase;Integrated Security=True" />

这是完美的工作(数据库条目出现在日志表中)。

现在我想登录到远程 azure 数据库服务器,所以我只是将连接字符串更改为以下内容:

<connectionString value="Data Source=mydb.database.windows.net,1433;Initial Catalog=MyDatabase;User ID=username@mydb;Password=mypassword;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" />

我在防火墙中插入了我的 IP 地址(作为证明我可以通过我机器上的 SQL Studio 连接到 azure db 实例)。

在调试应用程序时,我没有看到任何由 log4net 引起的异常。

我使用 Castle-windsor 在需要的地方注入 ILogger,这是我的安装程序:

public class LoggerInstaller : IWindsorInstaller
    {
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            container.AddFacility<LoggingFacility>(f => f.UseLog4Net().WithConfig("Configuration\\log4net.config"));
        }
    }

Azure 数据库实例上的数据库是本地数据库的精确副本(相同的创建脚本)。

但是远程数据库中什么也没有出现。我究竟做错了什么?如何找出问题所在?

非常感谢

【问题讨论】:

    标签: asp.net azure log4net castle-windsor


    【解决方案1】:

    如果失败,Log4net 永远不会抛出异常。它旨在不与您的应用程序交互。找出 lognet 不记录原因的最快方法是启用内部 log4net 日志记录:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <appSettings>
            <add key="log4net.Internal.Debug" value="true"/>
        </appSettings>
    </configuration>
    

    <configuration>
    ...
    
    <system.diagnostics>
        <trace autoflush="true">
            <listeners>
                <add 
                    name="textWriterTraceListener" 
                    type="System.Diagnostics.TextWriterTraceListener" 
                    initializeData="C:\tmp\log4net.txt" />
            </listeners>
        </trace>
    </system.diagnostics>
    
    ...
    </configuration>
    

    【讨论】:

    • 谢谢,这导致我遇到以下问题:表中缺少聚集索引,只需添加索引即可解决问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2021-07-14
    相关资源
    最近更新 更多