python 日志打印格式报错 校正

一 logging.info 对打印的格式有要求,只能在一个字符串

    @staticmethod
    def initLogging(file_name, log_level=logging.INFO):   # logging.INFO  DEBUG
        """
        保存日志文件
        """
        log_folder = './log_file'
        # 如果文件夹不存在,创建文件夹
        if not os.path.exists(log_folder):
            os.makedirs(log_folder)

        # 配置文件日志
        log_formatter = logging.Formatter('%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s')
        log_file = f'{log_folder}/{file_name}_log.log'

        # 使用 RotatingFileHandler,每个日志文件最大大小为 10 MB,保留 7 个旧文件
        file_handler = RotatingFileHandler(log_file, mode='a', maxBytes=int(1e7), backupCount=7)
        file_handler.setFormatter(log_formatter)
        file_handler.setLevel(log_level)

        # 配置控制台日志
        console_handler = logging.StreamHandler()  # 创建控制台处理程序
        console_handler.setFormatter(log_formatter)
        console_handler.setLevel(log_level)

        # 将配置应用到全局日志系统
        logging.basicConfig(level=log_level,
                            datefmt='%Y-%m-%d %H:%M:%S',
                            handlers=[file_handler, console_handler])
        # rHandler
        logging.info("starting WaterPlantPacForeCast")
        return logging

二 和print的区别

print('a', 'b')

logging.info('a', 'b')

需要拆分为两行:

logging.info('a')

logging.info('b')

猜你喜欢

转载自blog.csdn.net/March_A/article/details/134665444