我使用Log4net来记录日志文件中的方法信息,执行持续时间和异常日志(我可以将其更改为Elmah或NLog)的WebApi控制器方法调用。我还有一些由开发人员编写的自定义消息日志。所有的日志文件驻留在同一个Web服务器上,如果我想分析它们,我应该将它们移动到另一台机器上。WebApi自定义日志和Azure存储
是否有任何方法将它们直接写入Azure存储以及哪种存储类型(Blob/Table/File)最好?
感谢
我使用Log4net来记录日志文件中的方法信息,执行持续时间和异常日志(我可以将其更改为Elmah或NLog)的WebApi控制器方法调用。我还有一些由开发人员编写的自定义消息日志。所有的日志文件驻留在同一个Web服务器上,如果我想分析它们,我应该将它们移动到另一台机器上。WebApi自定义日志和Azure存储
是否有任何方法将它们直接写入Azure存储以及哪种存储类型(Blob/Table/File)最好?
感谢
你或许应该考虑对log4net的天蓝色的appender:http://stemarie.github.io/log4net.Azure/。它适用于blob存储和表格存储。我会选择保存到表格存储,因为您将拥有一些基本的搜索功能,而不是在BLOB存储上提供。
ELMAH和NLog都具有用于记录到Azure存储的类似功能。
对于完全自动化的解决方案,您可以使用Audit.NET及其Audit.WebAPI和Audit.log4net扩展名。
只需添加到您的控制器/方法的属性:
[AuditApi]
public class UsersController : ApiController
{ ... }
和静态初始化代码:
Audit.Core.Configuration.Setup()
.UseLog4net();
就是这样,你有一个审计系统在您的网页API调用工作,使用您的默认log4net配置进行日志记录。