python 封装日志logging
#!/usr/bin/python # -*- coding:utf-8 -*- import logging import time import os class Log(object): ''' 封装后的logging ''' def __init__(self, logger=None, log_cate='search'): ''' 指定保存日志的文件路径,日志级别,以及调用文件 将日志存入到指定的文件中 ''' # 创建一个logger self.logger = logging.getLogger(logger) self.logger.setLevel(logging.DEBUG) # 创建一个handler,用于写入日志文件 self.log_time = time.strftime("%Y_%m_%d") file_dir = os.getcwd() + './log' if not os.path.exists(file_dir): os.mkdir(file_dir) self.log_path = file_dir self.log_name = self.log_path + "/" + log_cate + "." + self.log_time + '.log' # print(self.log_name) fh = logging.FileHandler(self.log_name, 'w', encoding='utf-8') # 这个是python3的 a 追加,w覆盖 fh.setLevel(logging.INFO) # 再创建一个handler,用于输出到控制台 ch = logging.StreamHandler() ch.setLevel(logging.INFO) # 定义handler的输出格式 formatter = logging.Formatter( '[%(asctime)s] %(filename)s->%(funcName)s line:%(lineno)d [%(levelname)s]%(message)s') fh.setFormatter(formatter) ch.setFormatter(formatter) # 给logger添加handler self.logger.addHandler(fh) self.logger.addHandler(ch) # 添加下面一句,在记录日志之后移除句柄 # self.logger.removeHandler(ch) # self.logger.removeHandler(fh) # 关闭打开的文件 fh.close() ch.close() def getlog(self): return self.logger if __name__ == '__main__': mlog = Log().getlog() mlog.info("消息") mlog.debug('This message should appear on the console') mlog.info('So should this') mlog.warning('And this, too')
人生苦短,慢慢潇洒。
nsyw.run
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!