我正在处理一个大型产品,由三个Windows服务和几个常规Windows应用程序(.exe)组成。现在我们想要转移到ETW和语义日志记录,并使用Microsoft.Diagnostics.Tracing.EventSource。
我曾经在某个地方读到,所有逻辑上相关的应用程序部分都应该使用同一个事件源。这意味着,最好我们希望我们的服务基本上只有一个EventSource。但是,如何在不引入产品中几乎所有程序集之间的依赖关系的情况下实现这一点呢?
该应用程序当前由大约70个程序集组成。为了能够在EventSource中创建一个日志方法,例如接受一个枚举值,包含事件源的程序集必须引用定义该枚举的程序集,这意味着枚举定义需要从使用它的程序集(可能是.exe)移动到所有程序集都引用的内容。
是否有一些方法来在一个应用程序中拥有几个派生自EventSource的类,仍然使用相同的ETW EventSource?或者,在这种情况下,实现具有ETW的语义日志记录的好方法是什么,当引入整堆新的依赖关系以创建您的日志类是不可取的?
我曾经在某个地方读到,所有逻辑上相关的应用程序部分都应该使用同一个事件源。这意味着,最好我们希望我们的服务基本上只有一个EventSource。但是,如何在不引入产品中几乎所有程序集之间的依赖关系的情况下实现这一点呢?
该应用程序当前由大约70个程序集组成。为了能够在EventSource中创建一个日志方法,例如接受一个枚举值,包含事件源的程序集必须引用定义该枚举的程序集,这意味着枚举定义需要从使用它的程序集(可能是.exe)移动到所有程序集都引用的内容。
是否有一些方法来在一个应用程序中拥有几个派生自EventSource的类,仍然使用相同的ETW EventSource?或者,在这种情况下,实现具有ETW的语义日志记录的好方法是什么,当引入整堆新的依赖关系以创建您的日志类是不可取的?