我是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,但是很困惑。感谢您为实现我的目标所提供的帮助。谢谢。
2010-07-10 10:46:28
从有关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")