WebApi 自定义日志和 Azure 存储
WebApi custom log and Azure Storage
我正在使用 Log4net 记录 WebApi 控制器方法调用以在日志文件中记录方法信息、执行持续时间和异常(我可以将其更改为 Elmah 或 NLog)。我还有一些由开发人员编写的自定义消息日志。所有日志文件都驻留在同一个 Web 服务器上,如果我想分析它们,我应该将它们移动到另一台机器上。
有没有办法将它们直接写入 Azure 存储,哪种存储类型 (Blob/Table/File) 最好?
谢谢
您可能应该查看 log4net 的 Azure appender:http://stemarie.github.io/log4net.Azure/。它适用于 blob 存储和 table 存储。我会选择保存到 table 存储,因为您将拥有一些基本的搜索功能,而这在 blob 存储上是不可用的。
ELMAH 和 NLog 在记录到 Azure 存储方面具有相似的功能。
对于完全自动化的解决方案,您可以使用 Audit.NET with its Audit.WebAPI and Audit.log4net 扩展程序。
只需为您的 controllers/methods 添加一个属性:
[AuditApi]
public class UsersController : ApiController
{ ... }
还有一段静态初始化代码:
Audit.Core.Configuration.Setup()
.UseLog4net();
就是这样,您有一个审计系统在您的网络上运行 api 使用默认 log4net 配置的调用和日志记录。
我正在使用 Log4net 记录 WebApi 控制器方法调用以在日志文件中记录方法信息、执行持续时间和异常(我可以将其更改为 Elmah 或 NLog)。我还有一些由开发人员编写的自定义消息日志。所有日志文件都驻留在同一个 Web 服务器上,如果我想分析它们,我应该将它们移动到另一台机器上。
有没有办法将它们直接写入 Azure 存储,哪种存储类型 (Blob/Table/File) 最好?
谢谢
您可能应该查看 log4net 的 Azure appender:http://stemarie.github.io/log4net.Azure/。它适用于 blob 存储和 table 存储。我会选择保存到 table 存储,因为您将拥有一些基本的搜索功能,而这在 blob 存储上是不可用的。
ELMAH 和 NLog 在记录到 Azure 存储方面具有相似的功能。
对于完全自动化的解决方案,您可以使用 Audit.NET with its Audit.WebAPI and Audit.log4net 扩展程序。
只需为您的 controllers/methods 添加一个属性:
[AuditApi]
public class UsersController : ApiController
{ ... }
还有一段静态初始化代码:
Audit.Core.Configuration.Setup()
.UseLog4net();
就是这样,您有一个审计系统在您的网络上运行 api 使用默认 log4net 配置的调用和日志记录。