Я новичок в пакете регистрации Python и планирую использовать его для своего проекта. Я хотел бы настроить формат времени на свой вкус. Вот краткий код, который я скопировал из учебника:
import logging
# create logger
logger = logging.getLogger("logging_tryout2")
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s")
# add formatter to ch
ch.setFormatter(formatter)
# add ch to logger
logger.addHandler(ch)
# "application" code
logger.debug("debug message")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
logger.critical("critical message")
И вот вывод:
2010-07-10 10:46:28,811;DEBUG;debug message
2010-07-10 10:46:28,812;INFO;info message
2010-07-10 10:46:28,812;WARNING;warn message
2010-07-10 10:46:28,812;ERROR;error message
2010-07-10 10:46:28,813;CRITICAL;critical message
Я хотел бы сократить формат времени до просто: ' 2010-07-10 10:46:28
', отбрасывая миллисекундный суффикс. Я посмотрел на Formatter.formatTime, но растерялся. Я ценю вашу помощь в достижении моей цели. Спасибо.
python
datetime
logging
formatting
Хай вю
источник
источник
'formatters': { 'default': { 'format': '%(asctime)s | %(levelname)s | %(module)s | %(message)s', 'datefmt': '%Y-%m-%d %H:%M', },
Используя
logging.basicConfig
, следующий пример работает для меня:Это позволяет вам форматировать и конфигурировать все в одной строке. Результирующая запись в журнале выглядит следующим образом:
источник
если используется logging.config.fileConfig с файлом конфигурации, используйте что-то вроде:
источник
Чтобы добавить к другим ответам, вот список переменных из документации Python.
источник