logging¶
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
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]
warning()¶
-
logging.
warning
(msg: str)¶
logging.warning('Warning message')
# WARNING:root:Warning message
FileHandler()¶
Formatter()¶
- class
logging.
Formatter
¶ Формат сообщения лога
fmt = logging.Formatter('%(name)s %(message)s')
Handler()¶
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)
-