簡體   English   中英

為日志文件寫頭

[英]Writing a header for the log file

我的記錄器如下所示:

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

因此,我不想記錄鍵值,而是將鍵(列名)打印為標題。

有可能這樣做嗎?

我同意Norrius的觀點,即日志記錄可能不是正確的工具,但是如果出於任何原因堅持執行,則可以先記錄標頭,然后僅記錄值:

logger.info("Col1 Col2 Col3")

logger.info("{}\t {}\t {}".format(a, str(b), c))

盡管這也會將時間戳記在標頭中,但是您需要在行之間使用格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM