如何跨机器场记录分布式python进程

如何跨机器场记录分布式python进程,python,logging,Python,Logging,有人有过这方面的经验吗 我如何用python统一分布式系统的日志,因为我不知道远程机器上发生了什么 我一直在研究python内置日志记录,但它似乎没有一个很好的文档来记录分布式系统。来自for python 2.x: 虽然日志记录是线程安全的,但是从 支持单个进程中的多个线程,将日志记录到单个进程 不支持来自多个进程的文件,因为没有 跨多个文件序列化访问单个文件的标准方法 Python中的进程。如果您需要从多个站点登录到单个文件 进程,一种方法是将所有进程记录到 SocketHandler,并有

有人有过这方面的经验吗

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

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

来自for python 2.x:

虽然日志记录是线程安全的,但是从 支持单个进程中的多个线程,将日志记录到单个进程 不支持来自多个进程的文件,因为没有 跨多个文件序列化访问单个文件的标准方法 Python中的进程。如果您需要从多个站点登录到单个文件 进程,一种方法是将所有进程记录到 SocketHandler,并有一个单独的进程来实现套接字 从套接字读取数据并记录到文件的服务器。(如果你愿意, 您可以在现有进程之一中将一个线程专用于 执行此功能。)本节详细介绍了此方法 详细信息,包括一个工作插座接收器,可作为 在您自己的应用程序中进行调整的起点

如果您使用的是最新版本的Python,其中包括 多处理模块,您可以编写自己的处理程序,使用 此模块中的锁类,用于从中序列化对文件的访问 您的流程。现有的FileHandler和子类不允许 目前使用多处理,尽管他们可能在 未来。请注意,目前,多处理模块没有 在所有平台上提供工作锁功能(参见 )

从Python2.x的

虽然日志记录是线程安全的,但是从 支持单个进程中的多个线程,将日志记录到单个进程 不支持来自多个进程的文件,因为没有 跨多个文件序列化访问单个文件的标准方法 Python中的进程。如果您需要从多个站点登录到单个文件 进程,一种方法是将所有进程记录到 SocketHandler,并有一个单独的进程来实现套接字 从套接字读取数据并记录到文件的服务器。(如果你愿意, 您可以在现有进程之一中将一个线程专用于 执行此功能。)本节详细介绍了此方法 详细信息,包括一个工作插座接收器,可作为 在您自己的应用程序中进行调整的起点

如果您使用的是最新版本的Python,其中包括 多处理模块,您可以编写自己的处理程序,使用 此模块中的锁类,用于从中序列化对文件的访问 您的流程。现有的FileHandler和子类不允许 目前使用多处理,尽管他们可能在 未来。请注意,目前,多处理模块没有 在所有平台上提供工作锁功能(参见 )


在Linux上,您可以将Python日志记录到rsyslog,并将rsyslog配置为远程记录到您的计算机我有一个带有芹菜的Python分布式系统,因此我有一个自定义的logging.Handler,它记录到用于任务的同一个代理,我有一个消费者将这些消息写入日志文件。如果你也使用芹菜,那对我来说很好。在Linux上,你可以将Python日志记录到rsyslog,并将rsyslog配置为远程登录到你的计算机我有一个带有芹菜的Python分布式系统,所以我有一个自定义的logging.Handler,它记录到用于任务的同一个代理,我有一个消费者将这些消息写入日志文件。如果你也用芹菜,那对我很好。