当前位置: 首页 > 后端技术 > Python

python知识巩固-自定义日志模块封装,格式化打印日志到控制台还是输出到文件?

时间:2023-03-26 12:53:06 Python

微信公众号:Python集中营重复做简单的事,坚持做重复的事,用心做坚持的事;您的肯定是我坚持的动力。如果本文对您有帮助,请关注!相关依赖库1#-*-编码:UTF-8-*-23#日志模块45importlogging67#时间模块89importdatetime1011#系统运行模块1213importos1415#日志处理模块1617fromloggingimporthandlers初始化全局参数1classLogUtil(object):23def__init__(self,log_name):45'''初始化参数'''67#日志名称89self.log_name=log_name1011#日志对象1213self.logger=logging.getLogger(self.log_name)1415#日志级别1617self.logger.setLevel(logging.DEBUG)1819#日志时间格式2021self.log_time=datetime.datetime.now().strftime("%Y-%m-%d_%H:%M:%S")consoleoutput1defconsole_output(self):23#日志输出45self.handlers=logging.StreamHandler()67self.handlers.setLevel(logging.DEBUG)89#format日志输出格式第1011章12"%Y-%m-%d%H:%M:%S")1314self.handlers.setFormatter(self.format)1516#添加日志到记录器对象1718self.logger.addHandler(self.handlers)1920returnself.loggerfileoutput1deffile_output(self,file_path="/usr/data/load/",file_name="log"):23#输出日志到文件45self.file_full_path=os.path.join(file_path,file_name+".log")67self.handlers=handlers.TimedRotatingFileHandler(self.file_full_path,when='midnight',8interval=1,backupCount=50)910#格式化日志输出格式1112self.format=logging.Formatter('[%(asctime)s][%(filename)s][line:%(lineno)d][%(levelname)s]-[%(message)s]',13"%Y-%m-%d%H:%M:%S")1415self.handlers。setFormatter(self.format)1617#Addlogtologgerobject1819self.logger.addHandler(self.handlers)2021returnself.loggercallslogmodule1if__name__=='__main__':2'''3控制台日志输出调用4'''5#logger=LogUtil("测试控制台日志输出").console_output()67#logger.info("我是一个我nfo")89#logger.debug("Iamadebug")1011#logger.error("Iamanerror")1213'''14文件中的日志输出调用15'''1617logger=LogUtil("测试输出到文件").file_output(file_path="C:\\")1819logger.info("test")更多精彩进入微信【Python集中营】,专注python技术栈、数据获取、交流社区,干货分享,期待你的加入~