工具代码粘贴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)

 

 

 

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