Рубрики
Без рубрики

Как практиковать вход в Python с logzero

Автор оригинала: Davis David.

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