Конфигурация среды выполнения EventSource guid

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

Можно ли настроить имя/указатель EventSource через конфигурацию или иным образом во время выполнения?

В настоящее время у нас есть конвейер развертывания с одной сборкой, поэтому я не думаю, что решение на этапе сборки нам подойдет.


person Richard Szalay    schedule 09.07.2015    source источник
comment
как вы регистрируете события? Если вы захватите их с помощью PerfView, WPR, у вас также будут данные загрузчика и информация о FileVrsion. Здесь вы можете найти файловую версию вашего приложения.   -  person magicandre1981    schedule 09.07.2015
comment
Вы пробовали корреляцию FileVersion?   -  person magicandre1981    schedule 04.08.2015


Ответы (2)


Это не поддерживается. Некоторые команды делают следующее: добавляют к каждому событию дополнительный параметр для передачи идентификатора версии/сборки.

Другим потенциальным вариантом может быть создание задачи перед сборкой для изменения исходного кода (реализация EventSource) для назначения разных идентификаторов GUID для каждой сборки. Но в этом случае будет сложно работать с этими логами.

person Sergey Baranchenkov    schedule 17.07.2015

В итоге мы отфильтровали наблюдаемые по идентификатору процесса:

int currentProcessId = Process.GetCurrentProcess().Id;

new ObservableEventListener()
    .Where(ev => ev.ProcessId == currentProcessId)
    .LogToRollingFlatFile(...);

Очевидно, что это не сработает, когда мы выйдем из процесса, но пока все в порядке.

person Richard Szalay    schedule 13.08.2015