【问题标题】:WebApi custom log and Azure StorageWebApi 自定义日志和 Azure 存储
【发布时间】:2017-01-17 01:59:21
【问题描述】:

我正在使用 Log4net 记录 WebApi 控制器方法调用以记录方法信息、执行持续时间和日志文件中的异常(我可以将其更改为 Elmah 或 NLog)。我还有一些由开发人员编写的自定义消息日志。所有日志文件都驻留在同一个 Web 服务器上,如果我想分析它们,我应该将它们移动到另一台机器上。

有没有办法将它们直接写入 Azure 存储,哪种存储类型(Blob/表/文件)是最好的?

谢谢

【问题讨论】:

    标签: azure asp.net-web-api log4net nlog elmah


    【解决方案1】:

    您可能应该查看用于 log4net 的 Azure appender:http://stemarie.github.io/log4net.Azure/。它适用于 blob 存储和表存储。我会选择保存到表存储,因为您将拥有一些基本的搜索功能,而这些功能在 blob 存储中不可用。

    ELMAH 和 NLog 都具有类似的记录到 Azure 存储的功能。

    【讨论】:

      【解决方案2】:

      对于完全自动化的解决方案,您可以使用 Audit.NET 及其 Audit.WebAPIAudit.log4net 扩展。

      只需向您的控制器/方法添加一个属性:

      [AuditApi]
      public class UsersController : ApiController
      { ... }
      

      还有一个静态初始化代码:

      Audit.Core.Configuration.Setup()
          .UseLog4net();
      

      就是这样,您有一个审核系统正在处理您的 Web api 调用并使用您的默认 log4net 配置进行日志记录。

      【讨论】:

        猜你喜欢
        • 2018-03-29
        • 1970-01-01
        • 2015-03-15
        • 2023-01-30
        • 1970-01-01
        • 2015-08-20
        • 1970-01-01
        • 2022-08-02
        • 1970-01-01
        相关资源
        最近更新 更多