python: logging日志级别详解
import logging ''' 日志级别: critical > error > warning > info > debug,notset 级别越高打印的日志越少,反之亦然,即 debug : 打印全部的日志(notset等同于debug) info : 打印info,warning,error,critical级别的日志 warning : 打印warning,error,critical级别的日志 error : 打印error,critical级别的日志 critical : 打印critical级别 ''' handler=logging.FileHandler("/tmp/TNLOG-error.log") def log(level): logger = logging.getLogger() #不能重复创建handler,否则会重复写入同样的记录? logger.addHandler(handler) logger.setLevel(level) logger.debug("debug") logger.info("info") logger.warning("warning") logger.error("error") logger.critical("critical\n") if __name__ == "__main__": log(logging.NOTSET) log(logging.DEBUG) log(logging.INFO) log(logging.WARNING) log(logging.ERROR) log(logging.CRITICAL)
在程序开发阶段,显然我们需要大量的日志,因此日志级别应为debug,等系统逐渐稳定,我们需要记录的日志应该减少一些,这样可以提高程序执行效率(我觉得似乎不应该删除debug级别的日志语句,因为维护时会再度需要?虽然让代码变长,我认为好的系统应该有这样的语句在)这个时候,我们更关心用户在系统里的动作,用户做了什么,如果我们的程序是一个可以买东西的网站,我们需要记录一切与钱有关的信息,即用户对于核心数据的修改,我们必须记录在案,这个时候我们可以选择info和info以上级别的日志,最重要的信息,显然我们需要选择critical级别,具体怎么划分看系统的设计,我也没有太多经验就先不说了,不过异常部分(try-except)我建议还是使用error级别,即使系统正常运行以后也不能保证有未预料的错误产生,一旦选择低级别的日志很可能会漏记重要的系统异常的原因
posted on 2012-08-15 23:30 codestyle 阅读(8649) 评论(1) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述