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