2016-09-09 98 views
2

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

是否有任何方法将它们直接写入Azure存储以及哪种存储类型(Blob/Table/File)最好?

感谢

回答

1

你或许应该考虑对log4net的天蓝色的appender:http://stemarie.github.io/log4net.Azure/。它适用于blob存储和表格存储。我会选择保存到表格存储,因为您将拥有一些基本的搜索功能,而不是在BLOB存储上提供。

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

0

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

只需添加到您的控制器/方法的属性:

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

和静态初始化代码:

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

就是这样,你有一个审计系统在您的网页API调用工作,使用您的默认log4net配置进行日志记录。