logging

DEBUG

logging.DEBUG

basicConfig()

logging.basicConfig(**kwargs)
  • datefmt

    Формат строки даты в логах

  • level

    Уровень логирования, logging.DEBUG, logging.ERROR, …

  • filename

  • filemode

  • format

    Форматирование сообщения в логе

    • asctime - время создания сообщения в логах

    • levelname - имя уровня логирования (DEBUG, ERROR, …)

    • message - пользовательское сообщение

    • name - имя логгера, по умолчанию root

    • process - номер процесса

logging.basicConfig(
    filename='log.log',
    filemode='w',
    format='%(name)s - %(levelname)s - %(message)s',
    level=logging.DEBUG,
    datefmt='%d-%b-%y %H:%M:%S',
)
logging.error('Error message')
# root - ERROR - Error message

critical()

logging.critical(msg: str)
logging.critical('Critical message')
# CRITICAL:root:Critical message

debug()

logging.debug(msg: str)
logging.debug('Debug message')

getLogger()

logging.getLogger(logger_name: str)

Возвращает logging.Logger().

logger = logging.getLogger('my_logger')
logger.warning('Warning message')
# WARNING:my_logger:Warning message
logger = logging.getLogger(__name__)
logger.warning('Warning message')
# WARNING:__main__:Warning message

error()

logging.error(msg: str, exc_info=False)

Логирование ошибок.

  • exc_info

    Вывести и трейсбек ошибки, аналогично logging.exception()

logging.error('Error message')
# ERROR:root:Error message
logging.error('Error message', exc_info=True)
# ERROR:root:Error message
Traceback (most recent call last):
  File "script.py", line 16, in <module>
    c = a / b
ZeroDivisionError: division by zero
[Finished in 0.1s]

exception()

logging.exception(msg: str)

Логирование ошибки с отладочной информацией

logging.exception('Error message')
# ERROR:root:Error message
Traceback (most recent call last):
  File "script.py", line 16, in <module>
    c = a / b
ZeroDivisionError: division by zero
[Finished in 0.1s]

info()

logging.info(msg: str)
logging.info('Info message')

warning()

logging.warning(msg: str)
logging.warning('Warning message')
# WARNING:root:Warning message

FileHandler()

class logging.FileHandler(file_name: str)
file_handler = logging.FileHandler('log.log')
setFormatter()

Handler.setFormatter()

setLevel()

Handler.setLevel()

Formatter()

class logging.Formatter

Формат сообщения лога

fmt = logging.Formatter('%(name)s  %(message)s')

Handler()

class logging.Handler
setLevel(lvl)

Устанавливает уровень логирования

handler.setLevel(logging.DEBUG)
setFormatter(fmt: Formatter)

Устанавливает формат записи лога

handler.setFormatter(logging.Formatter('%(name)s  %(message)s'))

Logger()

class logging.Logger

Объект логгер, который можно получить через getLogger()

logger = logging.getLogger(__name__)

handler = logging.StreamHandler()
handler.setLevel(logging.DEBUG)
handler.setFormatter(logging.Formatter('%(name)s - %(message)s')

logger.addHandler(handler)
addHandler(handler: Handler)

Добавляет обработчик в логгер

handler = logging.StreamHandler()
handler.setLevel(logging.DEBUG)
handler.setFormatter(logging.Formatter('%(name)s - %(message)s')

logger.addHandler(handler)

LogRecord()

class logging.LogRecord

StreamHandler()

class logging.StreamHandler
stream_handler = logging.StreamHandler()
setFormatter()

Handler.setFormatter()

setLevel()

Handler.setLevel()