小编这次要给大家分享的是如何使用Python日志处理模块logging,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。
其主要优点如下:
1.可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息;
2.尤其是代码运行在服务器上,当出现问题时可以通过查看日志进行分析。
logging模块基本使用:
设置logger名称
logger = logging.getLogger(log_name)
设置log级别
logger.setLevel(logging.info)
创建一个handler,用于写入日志文件
fh = logging.FileHandler(log_file)
设置日志级别,默认为logging.WARNING
fh.setLevel(logLevel[log_level])
定义handler的输出格式
formatter = logging.Formatter('%(asctime)s %(name)s [line:%(lineno)d] %(levelname)s %(message)s')
fh.setFormatter(formatter)
添加handler
logger.addHandler(fh)
format
    示例代码如下:
import logging import datetime import os # 定义日志级别字典 logLevelDic={ "info":logging.INFO, "debug":logging.DEBUG, "warning":logging.WARNING, "error":logging.ERROR } # 日志保存路径 logSavePath=os.path.join(os.getcwd(),"logs") if not os.path.exists(logSavePath): os.makedirs(logSavePath,exist_ok=True) # 当前时间 curTime=datetime.datetime.now().strftime("%Y%m%d") # 保存的日志的完整名称 logFile=os.path.join(logSavePath,curTime+".SADCI.log") # 日志级别 logLevel="error" class Logger: def __init__(self,logFile=logFile,logLevel=logLevelDic["error"]): self.logFile=logFile self.logLevel=logLevel # 设置logger名称 self.logger=logging.getLogger() # 设置参数级别 self.logger.setLevel(self.logLevel) self.formatter=logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") # 判断handlers是否存在 if not self.logger.handlers: # 写入控制台 consoleStream=logging.StreamHandler() consoleStream.setLevel(self.logLevel) consoleStream.setFormatter(self.formatter) # 写入文件 fileStream=logging.FileHandler(self.logFile,mode="a") fileStream.setLevel(self.logLevel) fileStream.setFormatter(self.formatter) self.logger.addHandler(consoleStream) self.logger.addHandler(fileStream) def MyLogger(): return Logger(logFile=logFile,logLevel=logLevelDic[logLevel]).logger if __name__ == '__main__': MyLogger().error("test logg")
看完这篇关于如何使用Python日志处理模块logging的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。