在Azure Blob / Table中记录和查看自定义事件

时间:2018-03-22 09:46:17

标签: c# azure logging azure-storage-blobs

我想从我的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存储的自定义事件以及如何以人类可读的形式查看这些事件?

0 个答案:

没有答案