如何使用Python日志模块显示日期格式

25 投票
2 回答
27245 浏览
提问于 2025-04-16 08:29

我正在尝试在Python中设置一个日志记录的格式:

import logging,logging.handlers
FORMAT = "%(asctime)-15s %(message)s"
logging.basicConfig(format=FORMAT,level=logging.INFO)
logger = logging.getLogger("twitter")
handler = logging.handlers.RotatingFileHandler('/var/log/twitter_search/message.log', maxBytes=1024000, backupCount=5)
logger.addHandler(handler)

基本上,日志记录是可以工作的,但没有日期格式...

2 个回答

2

基本示例:

import logging

logging.basicConfig(
    format='%(asctime)s %(levelname)s %(message)s',
    level=logging.INFO,
    datefmt='%Y-%m-%d %H:%M:%S'
)

logging.info('Just a random string...')
# 2030-01-01 00:00:00 INFO Just a random string...

如果你想调整级别名称消息之间的行间距,可以像下面的例子那样修改%(levelname)s

... %(levelname)-10s ...
# 2030-01-01 00:00:00 INFO           Just a random string...
46

你可以在basicConfig里添加一个datefmt参数:

logging.basicConfig(format=FORMAT,level=logging.INFO,datefmt='%Y-%m-%d %H:%M:%S')

或者,你也可以为旋转文件处理器(Rotating FileHandler)设置格式:

fmt = logging.Formatter(FORMAT,datefmt='%Y-%m-%d')
handler.setFormatter(fmt)

撰写回答