Я написал Python Logger, который делает именно это (даже с поддержкой MPI).Он доступен по адресу https://github.com/JensTimmerman/VSC-tools/blob/master/vsc/fancylogger.py
Этот регистратор может регистрировать в порт udp на удаленной машине.
Там я запускаю демон, который собирает журналы и записывает их в файл: https://github.com/JensTimmerman/VSC-tools/blob/master/bin/logdaemon.py
Этот скрипт запустит для вас демон: https://github.com/JensTimmerman/VSC-tools/blob/master/bin/startlogdaemon.sh
Если вы затем запустите свои процессы Python и запустите их параллельно с MPI, например, вам нужно будет только использовать fancylogger.getLogger () и использовать его как обычный регистратор Python.Он выберет переменные среды, установленные сценарием, войдет в систему на этом сервере и получит дополнительную информацию MPI в записях журнала.(например, номер потока mpi)
Если вы не используете mpi, у вас будет две опции:
установить переменные 'FANCYLOG_SERVER' и 'FANCYLOG_SERVER_PORT' вручную в каждойоболочка, в которой вы запускаете удаленный процесс Python
или просто запускаете демон.А в скриптах python вы получите свой логгер
вот так:
import fancylogger
fancylogger.logToUDP(hostname, port=5005)
logger = fancylogger.getLogger()