我想从我的WebApp记录一些商业活动(例如发票或用户更新了一些记录,我想查看更改内容)并使用一些现有的工具来查看它们。我的第一种方法是使用Azure表存储以及Azure Storage Explorer
我的示例事件对象如下所示:
public abstract class ApplicationEvent : TableEntity
{
public string ClientIP { get; set; }
public string User { get; set; }
public string Message { get; set; }
public string Type { get; set; }
public string Details { get; set; } // JSON document with audit
public ApplicationEvent()
{
var now = DateTime.UtcNow;
PartitionKey = string.Format("{0:yyyy-MM}", now);
RowKey = string.Format("{0:dd HH:mm:ss.fff}-{1}", now, Guid.NewGuid());
}
}
在小型活动中,这似乎是合理的解决方案。但话又说回来 - 随着日志的增长,查看/搜索日志变得非常低效。我想过每个月/每周创建一个表,但感觉不对。
我已经阅读过使用blob来存储日志,但我找不到任何现有的工具,用户可以使用它以我的自定义格式浏览/过滤这些事件(我希望能够看到我所有的ApplicationEvent属性) 。所以问题是: - 哪个更好:桌子还是blob?或者别的什么? - 如果blob是要走的路 - 如何有效地创建/编写Blob存储的自定义事件以及如何以人类可读的形式查看这些事件?