1

有人有这方面的经验吗?

我将如何使用 python 统一分布式系统的日志,因为我不知道远程机器上发生了什么。

我一直在研究 python 内置日志记录,但似乎没有用于记录分布式系统的良好文档。

4

1 回答 1

1

来自 Python 2.x 的官方文档

尽管日志记录是线程安全的,并且支持在单个进程中从多个线程记录到单个文件,但不支持从多个进程记录到单个文件,因为没有标准方法可以在多个进程中序列化对单个文件的访问Python 中的进程。如果您需要从多个进程记录到单个文件,一种方法是让所有进程记录到 SocketHandler,并有一个单独的进程实现从套接字读取并记录到文件的套接字服务器。(如果您愿意,您可以在现有进程之一中指定一个线程来执行此功能。)本节更详细地记录了这种方法,并包括一个工作套接字接收器,它可以用作您在您的自己的应用程序。

如果您使用的是包含多处理模块的最新版本的 Python,您可以编写自己的处理程序,该处理程序使用该模块中的 Lock 类来序列化进程对文件的访问。现有的 FileHandler 和子类目前不使用多处理,尽管它们将来可能会这样做。请注意,目前,多处理模块并未在所有平台上提供工作锁功能(请参阅 http://bugs.python.org/issue3770)。

于 2013-11-05T23:59:18.090 回答