工具代碼粘貼4——保存日誌打印到控制檯

先定義一個函數。定義handler 將日誌寫入文件(file)和控制檯(console)

import logging
def set_logger(log_file_path, logname = None):
    logger = logging.getLogger()   #創建logger
    logger.setLevel(logging.INFO)   #log等級總開關
    formatter = logging.Formatter('%(asctime)s:%(levelname)s: %(message)s') #handler輸出格式
    if not logger.handlers:
        # to file
        file_handler = logging.FileHandler(log_file_path, mode='w')
        file_handler.setFormatter(formatter)
        logger.addHandler(file_handler) #log添加到handler
        # to console
        stream_handler = logging.StreamHandler()
        stream_handler.setFormatter(formatter)
        logger.addHandler(stream_handler)
       

使用:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument()
opt = parser.parse_args()

set_logger('file_path/aaa.log')

logger = logging.getLogger()

#載入超參數等

opt_args = vars(opt)
    for k in opt_args.keys():
        logger.info('{0}: {1}'.format(k, opt_args[k]))

#載入模型結構

logger.info(model)

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章