Я плохо знаком с пакетом входа 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
', отбрасывая mili-второй суффикс. Я посмотрел на Formatter.formatTime, но перепутал. Я ценю Вашу справку для достижения моей цели.Спасибо.
Из официальной документации относительно класса Formatter:
Конструктор принимает два необязательных аргумента: строку формата сообщения и строку формата даты.
Измените
# create formatter
formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s")
на
# create formatter
formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s",
"%Y-%m-%d %H:%M:%S")