Запись в Python очень помогает мне создавать транскрипты сценариев фоновой обработки.python logging basic Как использовать
Я до сих пор использовали базовую конфигурацию:
import logging
LOG_FILENAME = 'example.log'
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG)
logging.debug('This message should go to the log file')
, как объяснено в документации Python: 15.6. logging. Хорошая вещь сделать это таким образом, что вы можете использовать строку:
logging.debug('This message should go to the log file')
На протяжении всех ваших модулей и классов, не заботясь ни с одной из конфигураций лесозаготовок. Затем вы настраиваете ведение журнала в главном скрипте, чтобы перейти к файлу, и все сообщения отправятся в тот же файл. Легко.
Существует еще один способ сделать то же самое, что идет что-то вдоль этих линий:
my_logger = logging.getLogger('MyLogger')
my_logger.setLevel(logging.DEBUG)
my_logger.debug('Test string')
Что то же самое, кроме того, что теперь у вас есть экземпляр, чтобы следить за: my_logger. Мои модули и классы не знают, как назван регистратор дня, и необходимость передавать другую переменную вокруг будет громоздкой. Я подозреваю, что мне не хватает чего-то очень элементарного, либо мое использование модуля протоколирования является неисправным, а работает только благодаря некоторому сбою или второму методу тоже должно быть очень просто.
Я хочу переключиться на второй метод, потому что это единственный способ использовать дополнительные функции, такие как RotatingFileHandler.
Oooooh! Это волшебство, как известно, что я был там раньше? – Bastiaan
Ну, я не уверен, как это реализовано, но, возможно, используя какую-то статическую переменную, содержащую словарь с созданными журналами. – eugenioy
И что я должен назвать своим регистратором, чтобы продолжать использовать модули, как они есть, с линией -logging.debug («test») - в них? – Bastiaan