gpt4 book ai didi

azure - 为什么 Log4Net 不能在 Azure 上使用表存储工作?

转载 作者:行者123 更新时间:2023-12-03 00:33:55 26 4
gpt4 key购买 nike

拼命寻找解决方案以使 log4net 在 Azure 辅助角色中工作。慢慢地让我疯狂。

我已按照此博客http://blog.tylerdoerksen.com/2012/04/17/logging-in-azure-part-2table-storage中概述的步骤进行操作(谢谢)这似乎很有意义,并且 log4net 日志记录在以下条件下就像梦想一样:

  1. 在本地模拟器中运行辅助角色并将日志保存到本地存储
  2. 在本地模拟器中运行辅助角色并将日志保存到远程暂存 Azure 表存储

当我将辅助角色服务部署到 Azure 时,它​​不会在 LogEntities 表中记录任何内容。正是这一点,这一点令人难以置信的沮丧。

我已在辅助角色 app.config 中打开 log4net 调试,并且在 WADLogsTable 中看到以下跟踪

log4net: Finalizing appender named [TableStorageAppender].

就是这样。自从添加

以来,我通常希望看到的其他 log4net 调试信息就没有了
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>

到我的辅助角色 app.config。

我正在工作角色重写的 Run 方法中配置 log4net:

public override void Run()
{
try
{

XmlConfigurator.Configure();
ILog Logger = LogManager.GetLogger(GetType());
Trace.WriteLine("Trace: CheckInService.Run()");
Logger.Info("log4net: CheckInService.Run()");
//open the Service and do some other stuff etc
while (true)
{
Thread.Sleep(1800000);
}
catch (Exception ex)
{
Trace.TraceError("There was a problem opening the CheckInService");
}
}

这是我完整的 app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" name="log4net" />
</configSections>
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
<log4net>
<appender type="Cloud.Services.Logging.TableStorageAppender, Cloud.Services.Logging" name="TableStorageAppender">
</appender>
<root>
<level value="All" />
<appender-ref ref="TableStorageAppender" />
</root>
</log4net>
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
</configuration>

日志附加程序 (TableStorageAppender) 实现位于它自己的程序集 (Cloud.Services.Logging) 中,但我假设这不会有任何区别?

有人有什么想法吗?

最佳答案

发布到 Azure 时是否包含 Cloud.Services.Logging 程序集 (CopyLocal = True)?

关于azure - 为什么 Log4Net 不能在 Azure 上使用表存储工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15407787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com