如何使用 log4Net adonetappender 将数据存储在 Azure 表中



我们使用log4Net Adonetappender将来自应用程序的审核日志数据存储在sqlserver表中,现在我们正在将我们的应用程序移动到Windows Azure,现在我们希望使用相同的adonetappender将数据存储在Windows Azure表存储中,而不是SQL Azure数据库,因为SQL Azure存储的成本昂贵。 如果我们想存储在 sql azure 中,不需要任何修改,我们的应用程序可以在没有任何 isue 的情况下正常工作,但我们希望将此审核日志数据存储到 Windows Azure 表存储中,因为此数据快速增长,并且与 SQL Azure 相比,Azure 表存储用于高可伸缩性和更低的成本。

我刚刚遇到了同样的问题,并在此线程中找到了答案: log4net ADO.NET Appender 适用于 Dev Fabric,但在 Azure 上以静默方式失败

简短版本:adonetappender 在 Azure 中运行良好,但需要确保表上具有聚集索引。 查看是否可以在 Azure 上的日志表中手动插入行以确认这是问题所在。

我不相信这种方法会奏效。Azure 表没有 ADO.NET 接口。如果你想直接从log4net中写入,你很可能必须编写自己的适配器来做到这一点。

也就是说,Azure 诊断已写入表存储。如果按照他们的指示设置 Azure 诊断,并设置 log4net TraceAppender,则日志消息将进入表存储。这有点迂回,但我自己实际上使用它。

最新更新