任何人都有这方面的经验吗?
我如何使用python统一分布式系统的日志,因为我不知道远程机器上发生了什么。
我一直在研究python内置日志记录,但它似乎没有很好的文档来记录分布式系统。
答案 0 :(得分:1)
来自Python {x的official docs:
虽然日志记录是线程安全的,但是从日志记录到单个文件 支持单个进程中的多个线程,记录到单个进程 不支持来自多个进程的文件,因为没有 跨多个序列化对单个文件的访问的标准方法 Python中的进程。如果需要从多个日志中记录单个文件 进程,这样做的一种方法是让所有进程都记录到a SocketHandler,并有一个实现套接字的独立进程 服务器从套接字读取并记录到文件。 (如果你更喜欢, 您可以将一个线程专用于其中一个现有进程 执行此功能。)本节更详细地介绍了这种方法 细节,包括一个工作插座接收器,可用作 您可以根据自己的应用进行调整。
如果您使用的是包含最新版本的Python 多处理模块,您可以编写自己的使用处理程序 此类模块中的Lock类用于序列化对文件的访问 你的过程。现有的FileHandler和子类没有 目前使用多处理,尽管他们可能会这样做 未来。注意,目前,多处理模块没有 在所有平台上提供工作锁功能(请参阅 http://bugs.python.org/issue3770)。