EventSource guid的运行时配置

时间:2015-07-09 02:38:10

标签: etw semantic-logging

我们有一个场景,即应用程序的多个预发布版本在同一环境中运行。我们看到的问题是,因为我们的source("filename.R", local=TRUE)具有相同的名称/ guid,我们无法区分日志。

是否可以通过配置或其他方式在运行时配置EventSource的名称/ guid?

我们目前有一个单一构建的部署管道,所以我认为构建时解决方案不适用于我们。

2 个答案:

答案 0 :(得分:2)

不支持。一些团队执行以下操作:向每个事件添加其他参数以传递版本/构建标识符。

另一个可能的选择是创建一个预构建任务来改​​变源代码(EventSource实现),以便为每个构建分配不同的GUID。但在这种情况下,这些日志很难处理。

答案 1 :(得分:1)

我们最终按进程ID过滤了observable:

int currentProcessId = Process.GetCurrentProcess().Id;

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

显然,一旦我们离开了过程,这将无效,但现在一切都很好。