Logzero – это пакет Python, созданный Крис Хагер Это упрощает ведение журнала с Python 2 и 3. Logzero делает его проще в качестве оператора печати для отображения информации и отладки деталей.
Если вам интересно Какая регистрация – , Я рекомендую, чтобы вы прочитали предыдущую статью, которую я написал о «Как запустить опытные эксперименты на машине с модулем регистрации Python» Особенно первые 3 раздела.
В этой статье вы узнаете:
- Что такое регистрация?
- Почему регистрация важно.
- Применение регистрации в разных технологиях промышленности.
Logzero имеет разные функции, которые облегчают использование в проектах Python. Некоторые из этих особенностей:
- Легкая регистрация на консоль и/или файл.
- Предоставляет полностью настроенный стандартный объект регистратора Python.
- Красивое форматирование, в том числе на уровне Цвета в консоли.
- Работает со всеми видами символьных кодировщиков и специальными символами.
- Совместим с Python 2 и 3.
- Нет дальнейших зависимостей Python.
Монтаж
Для установки Logzero с PIP выполняют следующее:
pip install -U logzero
Вы также можете установить Logzero от публики Github Repo :
git clone https://github.com/metachris/logzero.git cd logzero python setup.py install
Основной пример
Начнем с основного примера. В файле Python мы импортируем регистратор из Logzero и попробовать 4 различных примера уровня регистрации.
#import logger from logzero from logzero import logger logger.debug("hello") logger.info("info") logger.warning("warning") logger.error("error")
Вывод окрашен, поэтому легко читать.
Как вы можете видеть, что каждый уровень имеет свой цвет. Это означает, что вы можете легко идентифицировать уровень, проверяя цвет.
Напишите журналы в файл
Большинство пользователей Python Time, как правило, пишут журналы в файле. Когда система работает, вы можете сохранить журналы в файле и просмотреть их для проверки ошибок и целей обслуживания. Вы также можете установить файл для сохранения всех записей журнала в Legzero.
Мы импортируем регистратор и логика из Logezero. Метод logfile поможет нам настроить файл журнала для сохранения наших записей журнала.
Теперь ваши записи журнала будут зарегистрированы в файл с именем my_logfile.log.
#import logger and logfile from logzero import logger, logfile #set logfile path logfile('my_logfile.log') # Log messages logger.info("This log message saved in the log file")
Выходной вывод в My_logfile.log содержит этикетку уровня регистрации (для уровня информации, помеченной как «I»), дату, время, имя файла Python, номер строки и самого сообщения.
[I 200409 23:49:59 demo:8] This log message saved in the log file
Вращающийся файл журнала
Вам не нужно иметь один файл журнала, сохраняя все записи журнала. Это приводит к массовому файлу журнала, который является интенсивным для системы открытия и закрытия.
Вы можете использовать Maxbytes и backuppcount Параметры, позволяющие файлу перекрутить при заранее определенном размере. Когда размер будет превышен, файл закрыт, а новый файл молча открывается для вывода. Rollover возникает всякий раз, когда текущий файл журнала почти MaxBytes по длине. Если либо MAXBYTES или BACKUSCOUNT равен нулю, Rollover никогда не возникает.
В приведенном ниже примере мы установили MaxBytes, чтобы быть 1000000 байтов (1 МБ). Это означает, что когда размер превышает 1 МБ, файл закрыт, и новый файл открыт для сохранения записей журнала. Количество резервных копий для сохранения устанавливается на 3.
# Set a rotating logfile logzero.logfile("my_logfile.log", maxBytes=1000000, backupCount=3)
Установите минимальный уровень регистрации
Уровень ведения журнала означает установить уровень важности заданного журнала. Вы также можете установить другой Уровень журнала Для обработчика файла с помощью аргумента Loglevel в методе LOGFILE.
В приведенном ниже примере мы устанавливаем Loglevel, чтобы быть Предупреждение
Отказ Это означает, что все записи журнала ниже Уровень предупреждения не будет сохранен в файл журнала.
#import logzero package from logzero import logger, logfile import logging # You can also set a different loglevel for the file handler logfile("my_logfile.log", loglevel=logging.WARNING) # Log messages logger.info("This log message saved in the log file") logger.warning("This log message saved in the log file")
Установите пользовательский форма
Как вы хотите, чтобы записать запись журнала, зависит от вас. Есть разные способы отформатировать вашу запись журнала. Вы можете включить уровень даты, времени и регистрации в вашем формате, чтобы вы знали, когда журнал был отправлен и на каком уровне.
Приведенный ниже пример показывает, как вы можете настроить формат записей журнала.
#import logzero package import logzero from logzero import logger, logfile import logging #set file path logfile("my_logfile.log") # Set a custom formatter my_formatter = logging.Formatter('%(filename)s - %(asctime)s - %(levelname)s: %(message)s'); logzero.formatter(my_formatter) # Log messages logger.info("This log message saved in the log file") logger.warning("This log message saved in the log file")
В приведенном выше примере мы настроили формат журнала, включая Имя имена, дата, время, имя журнала, и сообщение.
Это вывод в my_logfile.log:
demo.py - 2020–04–10 00:51:44,706 - INFO: This log message saved in the log file demo.py - 2020–04–10 00:51:44,707 - WARNING: This log message saved in the log file
Пользовательские экземпляры регистрации регистрации
Вместо того, чтобы использовать регистратор по умолчанию, вы также можете настроить определенные экземпляры регистратора регистратора с logzero.setup_logger (..) Отказ Вы можете настроить и возвращать полностью настроенный экземпляр регистратора регистратора с разными параметрами, такими как Имя, имя Logfile, Fixter, Maxbytes, Backupcount, и уровень регистрации.
Это рабочий пример того, как настройка регистрации с помощью экземпляра пользовательского регистратора:
import logzero package from logzero import logger, logfile, setup_logger import logging # Set a custom formatter my_formatter = logging.Formatter('%(filename)s - %(asctime)s - %(levelname)s: %(message)s'); #create custom logger instance custom_logger = setup_logger( name="My Custom Logger", logfile="my_logfile.log", formatter=my_formatter, maxBytes=1000000, backupCount=3,level=logging.INFO) # Log messages custom_logger.info("This log message saved in the log file") custom_logger.warning("This log message saved in the log file")
В приведенном выше примере мы установили пользовательский экземпляр регистратора регистратора custom_logger С различными настроенными значениями параметров.
Заворачивать
В этой статье вы узнали основы, наряду с некоторыми примерами, как использовать пакет Logezero Python. Вы можете узнать больше о возможностях, доступных в Документация Отказ Теперь вы можете начать реализацию пакета Logzero в следующий Python Project Отказ
Если вы узнали что-то новое или наслаждались чтением этой статьи, пожалуйста, поделитесь этим, чтобы другие могли его увидеть. До этого увидимся в следующем посте! Я также можно добраться в Twitter @Davis_mcdavid