Необходим Concurrent_log_handler с ротацией файлов по времени и по размеру для python - PullRequest
1 голос
/ 31 января 2020

Concurrent_log_hanlder для регистрации нескольких процессов в одном файле в python регистрация работает нормально. Но его ротация файла журнала зависит только от размера файла. Мне нужен был concurrent_log_handler, который поддерживает ротацию файлов по времени и по размеру. Встроенная регистрация

Python обеспечивает поддержку ротации по времени и по размеру. А также мы можем написать собственное ведение журнала, мы можем объединить обе функции. Но этот настраиваемый обработчик журналирования не поддерживает многопроцессорную регистрацию в одном файле.

В моем случае мне потребовался обработчик регистрации нескольких процессов с ротацией файлов по размеру и времени.

Есть ли доступный обработчик python. Я попытался объединить concurrent_log_handler с python ведением журнала встроенного обработчика, основанного на времени. Это не работает для меня. Есть ли какое-либо решение для решения моего дела.

1 Ответ

0 голосов
/ 04 февраля 2020

Вы можете избежать всех хлопот, связанных с обработчиками файлов из нескольких процессов, используя QueueHandler и QueueListener . Архитектура должна иметь выделенный процесс ведения журнала, который использует любой однопроцессный обработчик, и этот процесс считывает сообщения журнала из очереди, в которую все другие процессы отправляют свои журналы через QueueHandler. Это не особенно сложно настроить, следуя примерам в связанной документации.

...