Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python日志管理器_Python_Logging - Fatal编程技术网

python日志管理器

python日志管理器,python,logging,Python,Logging,我有几个并行运行的python程序。 我想写一个python程序来管理程序日志,这意味着其他程序将向这个程序发送日志消息,程序将把它写入日志文件。 另一个重要功能是,如果其中一个程序崩溃,“管理日志程序”将知道并可以将其写入日志文件。 我试着用这个样本 但我失败了 有人能帮我吗 我编写了一个python记录器,它可以做到这一点(即使有mpi支持)。 可于 此记录器可以登录到远程计算机上的udp端口 在那里,我运行一个守护进程,收集日志并将其写入文件: 此脚本将为您启动守护程序: 例如,如果启

我有几个并行运行的python程序。 我想写一个python程序来管理程序日志,这意味着其他程序将向这个程序发送日志消息,程序将把它写入日志文件。 另一个重要功能是,如果其中一个程序崩溃,“管理日志程序”将知道并可以将其写入日志文件。 我试着用这个样本 但我失败了


有人能帮我吗

我编写了一个python记录器,它可以做到这一点(即使有mpi支持)。 可于

此记录器可以登录到远程计算机上的udp端口

在那里,我运行一个守护进程,收集日志并将其写入文件:

此脚本将为您启动守护程序:

例如,如果启动python进程并与mpi并行运行,则只需使用fancylogger.getLogger()并将其用作普通python记录器。 它将获取脚本设置的环境变量,记录到该服务器,并在日志记录中包含一些额外的mpi信息。(如mpi螺纹编号)

如果不使用mpi,您将有两个选项:

  • 在启动远程python进程的每个shell中手动设置“FANCYLOG\u SERVER”和“FANCYLOG\u SERVER\u PORT”变量

  • 或者只是启动守护进程。在python脚本中,获取记录器

像这样:

import fancylogger
fancylogger.logToUDP(hostname, port=5005)
logger = fancylogger.getLogger()

没有代码就不行。我可能在您对操作的思考中看到了一个问题:您将流程管理器与日志管理器区分开来。这两个任务最好由流程管理器来处理,它生成工作进程,监视它们的状态,根据需要重新启动它们,并从子进程创建时建立的管道中聚合它们的日志消息。学习Python多处理模块,获得正确的过程监控,然后日志记录应该更容易。