Как Настроить формат времени для входа Python?

Я плохо знаком с пакетом входа 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, но перепутал. Я ценю Вашу справку для достижения моей цели.Спасибо.

169
задан fedorqui 23 May 2013 в 15:42
поделиться

1 ответ

Из официальной документации относительно класса 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")
191
ответ дан 23 November 2019 в 20:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: