我可以用类型替换SLAB one-method-per-event吗?

时间:2016-07-11 14:11:09

标签: c# logging slab

Examples for SLAB看起来像这样:

MyCompanyEventSource.Log.ScalingRequestSubmitted(
    request.RoleName, 
    request.InstanceCount,
    context.RuleName,
    context.CurrentInstanceCount);

我不喜欢每次添加新事件类型时都必须编辑MyCompanyEventSource。我也不喜欢记录器只能静态使用。我宁愿做这样的事情:

_logger.Log(new ScalingRequestSubmittedEvent(request, context));

我知道我可以滚动自己的日志记录,但在我完全解雇SLAB之前,我想知道我是否不公平。

1 个答案:

答案 0 :(得分:2)

没有办法做这样的事情

_logger.Log(new ScalingRequestSubmittedEvent(request, context));

每当您想要添加新类型的活动,更改信息级别或关键字时,您都必须更改记录器。

为EventSource编写自己的包装器是实现所需功能的唯一方法。