关联来自两个或多个进程的日志记录

时间:2009-02-20 13:13:52

标签: .net logging

我有两个进程,我已经启动并正在运行,我正在进行日志记录。一个是客户端,另一个是Web服务。我想设置一个中央日志系统,我可以在其中跟踪进程之间的日志和交互 - 例如,我希望能够在查看日志时将客户端的调用与Web服务相关联。我想这意味着客户端进程的processid需要以某种方式流向Web服务才能被跟踪?

目前的日志框架(例如Enterprise Library或Log4Net)是否可以实现这一目标? 是否有人调查了这样的事情?

任何帮助都将不胜感激。

如果您有更明确的术语,请随时更改问题或标签的标题。

2 个答案:

答案 0 :(得分:0)

您应该可以使用.Net Enterprise Library Logging Application Block轻松完成此操作。这将允许您从两个进程登录到同一个数据库/表。

至于将一个进程连接到下一个进程,是的 - 您需要在调用进程中创建某种唯一ID并将其传递给被调用的进程。然后,您可以在拨打电话之前从呼叫者记录该值,并在呼叫开始时从被呼叫者记录该值。

我建议您使用单独的日志记录级别进行进程间通信。我经常记录通知消息等通信。这样可以很容易地从日志中的其余消息中过滤掉它们。

答案 1 :(得分:0)

要在中央位置收集和存储日志记录数据,通常需要某种日志服务器或接收器应用程序(特别是如果要同时写入单个日志文件并仍保持良好性能)。您可能希望尝试使用我们的日志记录工具SmartInspect,因为它附带了一个可以从多个进程/机器接收日志记录数据的日志记录服务器。 SmartInspect还附带了一个用于分析和过滤日志数据的查看器应用程序。