2016-07-11 6 views
1

Examples for SLAB, как правило, выглядит следующим образом:Можно ли заменить SLAB на один метод на событие типами?

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

мне не нравится, что я должен изменить MyCompanyEventSource каждый раз, когда я добавить новый тип события. Мне также не нравится, что регистратор доступен только в статическом режиме. Я предпочел бы иметь что-то вроде этого:

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

Я знаю, что могу просто бросить свою собственную регистрацию, но, прежде чем я уволить сляб полностью, я хотел бы знать, если я несправедлив.

ответ

2

Там нет никакого способа сделать что-то вроде этого

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

И вы должны изменить ваш регистратор в любое время вы хотите добавить новый тип события, изменить уровень информации или ключевое слово.

Создание собственной оболочки для EventSource - единственный способ достичь желаемой функциональности.