У меня есть сторонний скрипт консоли Python, исходный код которого я не хочу изменять.
Но я хочу настроить протоколирование, которое выполняется скриптом и его библиотеками. Скрипт использует стандартную запись в Python, но не поддерживает его настройку.
Скрипт использует этот шаблон:
import logging
logger=logging.getLogger(__name__)
Примеры использования:
- Я хочу, чтобы информационные сообщения файла foo.py игнорировались.
- Я хочу включить PID в сообщения регистрации.
Как я могу настроить ведение журнала, если я не хочу изменять источники консольного скрипта?
Сценарий вызывается через cron
.
Как я могу настроить ведение журнала, если этот скрипт?
Важно
Создание сценария-оболочки, как в этом ответе, не является для меня решением.
Иерархия процессов Linux выглядит следующим образом:
Cron -> third_party_script
Между cron и third_party_script
должен быть какой-либо скрипт "glue", "wrapping" или "dirty-hack".
Почему навязчивый/нетпикинг?
Я хочу практиковать "разделение интересов". Я хочу иметь возможность настроить ведение журнала один раз и в одном месте. Эта конфигурация должна использоваться всем кодом Python Virtualenv. Написание обертки было бы обходным решением. Я хочу решение.
Обновление
Несколько месяцев спустя я думаю, что pth файл будет простым ответом.