我的记录器看起来像这样:
import logging
logfile = 'name.log'
formatter = logging.Formatter('%(asctime)s\t%(message)s')
def setup_logger(name, log_file, level=logging.INFO):
handler = logging.FileHandler(log_file)
handler.setFormatter(formatter)
logger = logging.getLogger(name)
logger.setLevel(level)
logger.addHandler(handler)
return logger
logger = setup_logger('first_logger', logfile)
logger.info("Col1: {}\t : Col2 {}\t Col3: {}".format(a, str(b), c))
输出如下:
2018-01-01 19:03:23,126 Col1:106 Col2:"some string" Col3: 12
2018-01-01 19:03:24,127 Col1:7676 Col2:"some string" Col3: 80
2018-01-01 19:03:10,12 Col1:2 Col2:"some string" Col3: 7
我想编写记录器,以便获得这样的输出格式:
Timestamp Col1 Col2 Col3
2018-01-01 19:03:23,126 106 "some string" 12
2018-01-01 19:03:24,127 7676 "some string" 80
2018-01-01 19:03:10,12 2 "some string" 7
因此,我不想记录键值,而是将键(列名)打印为标题。
有可能吗?
答案 0 :(得分:0)
我同意Norrius的说法,日志记录可能不是正确的工具,但是如果你坚持任何原因,你可以先记录标题,然后只记录值:
logger.info("Col1 Col2 Col3")
logger.info("{}\t {}\t {}".format(a, str(b), c))
虽然这也会记录标题的时间戳,所以你需要使用行之间的格式。