首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于多进程应用中日志记录的几点看法

关于多进程应用中日志记录的几点看法
EN

Software Engineering用户
提问于 2012-12-08 00:22:28
回答 3查看 2.6K关注 0票数 3

我们已经编写了至少9个并行进程的应用程序。所有进程都会生成大量日志信息。

目前,我们正在使用Python的QueueHandler将所有日志合并到一个文件中。不幸的是,这有时会导致非常混乱的文件,这些文件很难阅读(这使得很难准确地跟踪一个线程中正在发生的事情)。

您认为将所有邮件分离为专用文件是可行的选择吗?或者,这会使事情变得更加混乱,因为文件数量很多吗?

在为多线程/多线程应用程序编写日志文件时,您的一般经验是什么?

EN

回答 3

Software Engineering用户

回答已采纳

发布于 2012-12-08 00:47:27

用进程id作为标识符标记每一行日志,然后在查看日志时使用grep。或者其他的东西,除了过程标识。

票数 3
EN

Software Engineering用户

发布于 2012-12-08 00:45:58

我更喜欢让每个进程日志到它自己的文件,然后在需要/需要时将它们合并在一起。这样,我就不必对一个日志文件进行并发/争用。作为单独的进程,日志事件通常是不相交的。

就性能而言,这是处理它的最有效的方法。加入日志文件通常是浪费的,因为没有人阅读其中的大部分,我会坚持按需这样做。

如果您主要使用日志文件作为调试工具,而不是审核目的,并且它有助于您使代码工作或调试多线程问题,那么日志文件的连接可能会导致事件顺序的丢失,除非您可以使用可接受的高分辨率计时器将其包含在日志事件中。然而,您最安全的选择是登录到某种类型的日志服务,为您同步。

票数 1
EN

Software Engineering用户

发布于 2012-12-08 11:41:46

这取决于您的应用程序,以及您如何分析日志。考虑一下高端服务器的极端情况,在这种情况下,许多线程都在进行交互。在日志时将其保存到单个队列中,并按时间顺序写入文件,可以相当准确地确定发生在其中的订单事件,这是一种解决方案,但更好的解决方案是拥有多个日志,让每个日志事件记录滴答时间,然后使用splunk执行分析。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/178704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档