Я пытаюсь добавить новый метод в класс ServiceEventSource в службе Service Fabric (веб-приложение, веб-API или службы без отслеживания состояния), чтобы регистрировать предупреждения и исключения отдельно от сообщений информационного типа.
Когда я добавляю новый метод в класс ServiceEventSource, он не выводит никаких сообщений, а this.IsEnabled () возвращает false. По умолчанию, и если я удалю только что добавленный метод, ServiceEventSource выводит сообщения, как ожидалось, а this.IsEnabled () возвращает true.
Я слежу за образцом Общее использование EventSource. Например, простое добавление следующего кода приведет к прекращению ведения журнала ServiceEventSource:
private const int ErrorEventId = 7;
[Event(ErrorEventId, Level = EventLevel.Error, Message = "Error: {0} - {1}")]
public void Error(string error, string msg)
{
WriteEvent(ErrorEventId, error, msg);
}
Я везде искал и не нашел никаких упоминаний об этом неожиданном поведении.
Вы проверили, не противоречат ли новые события предыдущим? Как имя, конфликт EventID? Также убедитесь, что всякий раз, когда вы меняете существующий метод, у вас будет конфликт со старым манифестом.
Убедитесь, что идентификаторы событий уникальны ...
Можете ли вы опубликовать весь EventSource?