如何用Python实现创建多个日志文件并记录日志的方法?

更新于
2026-10-04 06:31:46
2阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计362个文字,预计阅读时间需要2分钟。

为每个计算过程创建一个独立的日志文件,并写入对应的结果,同时保留控制台输出的功能,控制台输出与日志文件记录可分开独立控制。

pythonimport osimport logging

def create_logger(log_path, level=INFO): if not os.path.exists(log_path): os.makedirs(log_path) log_file=os.path.join(log_path, process_log.log) logger=logging.getLogger(ProcessLogger) logger.setLevel(level) file_handler=logging.FileHandler(log_file) file_handler.setLevel(level) console_handler=logging.StreamHandler() console_handler.setLevel(level) formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) logger.addHandler(file_handler) logger.addHandler(console_handler) return logger

为每一个计算过程创建一个单独的日志文件,并写入对应的结果,同时保留控制台输出的功能,控制台输出与日志文件记录可以分开单独控制。

import os import logging def creat_logger(log_path,logging_name,suf_name): if not os.path.exists(log_path): os.makedirs(log_path) log_full_path = log_path + logging_name + suf_name logger = logging.getLogger(logging_name) logger.setLevel(level=logging.DEBUG) handler = logging.FileHandler(log_full_path, encoding='UTF-8',mode = 'w') handler.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) console = logging.StreamHandler() console.setLevel(logging.DEBUG) logger.addHandler(handler) logger.addHandler(console) return logger if __name__ =='__main__': for i in range(5): for j in range(4): log_trace = creat_logger('./log/i_loop'+str(i)+'/','j_loop'+str(j),'.txt') log_trace.debug('DEBUG: iloop = %d , jloop = %d',i,j) log_trace.info('INFO: iloop = %d , jloop = %d',i,j) for handler in list(log_trace.handlers): log_trace.removeHandler(handler)

控制台输出结果

日志文件输出

到此这篇关于python创建多个logging日志文件的方法实现的文章就介绍到这了,更多相关python创建logging日志文件内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

标签:方

本文共计362个文字,预计阅读时间需要2分钟。

为每个计算过程创建一个独立的日志文件,并写入对应的结果,同时保留控制台输出的功能,控制台输出与日志文件记录可分开独立控制。

pythonimport osimport logging

def create_logger(log_path, level=INFO): if not os.path.exists(log_path): os.makedirs(log_path) log_file=os.path.join(log_path, process_log.log) logger=logging.getLogger(ProcessLogger) logger.setLevel(level) file_handler=logging.FileHandler(log_file) file_handler.setLevel(level) console_handler=logging.StreamHandler() console_handler.setLevel(level) formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') file_handler.setFormatter(formatter) console_handler.setFormatter(formatter) logger.addHandler(file_handler) logger.addHandler(console_handler) return logger

为每一个计算过程创建一个单独的日志文件,并写入对应的结果,同时保留控制台输出的功能,控制台输出与日志文件记录可以分开单独控制。

import os import logging def creat_logger(log_path,logging_name,suf_name): if not os.path.exists(log_path): os.makedirs(log_path) log_full_path = log_path + logging_name + suf_name logger = logging.getLogger(logging_name) logger.setLevel(level=logging.DEBUG) handler = logging.FileHandler(log_full_path, encoding='UTF-8',mode = 'w') handler.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) console = logging.StreamHandler() console.setLevel(logging.DEBUG) logger.addHandler(handler) logger.addHandler(console) return logger if __name__ =='__main__': for i in range(5): for j in range(4): log_trace = creat_logger('./log/i_loop'+str(i)+'/','j_loop'+str(j),'.txt') log_trace.debug('DEBUG: iloop = %d , jloop = %d',i,j) log_trace.info('INFO: iloop = %d , jloop = %d',i,j) for handler in list(log_trace.handlers): log_trace.removeHandler(handler)

控制台输出结果

日志文件输出

到此这篇关于python创建多个logging日志文件的方法实现的文章就介绍到这了,更多相关python创建logging日志文件内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

标签:方