app/__init__.py:
1 import logging
from logging.handlers import RotatingFileHandler '''
开发中使用DEBUG级别, 来输出丰富的调试信息.
发布时使用WARN以上级别, 来显示异常信息
log文件存满, 会自动叠加序号, 并产生新的log文件. 如果文件存满了, 就覆盖原先的文件
'''
# 设置日志的记录等级 debug<info<warn<Error<Fatal;
logging.basicConfig(level=logging.DEBUG) # 调试debug级 只记录level以上级别日志信息
# 创建日志记录器,指明日志保存的路径、每个日志文件的最大大小、保存的日志文件个数上限
file_log_handler = RotatingFileHandler("log/log", maxBytes=1024 * 1024 * 100, backupCount=10)
# 创建日志记录的格式 日志等级 输入日志信息的文件名 行数 日志信息    触发时间
formatter = logging.Formatter('%(levelname)s %(filename)s:%(lineno)d %(message)s %(asctime)s')
# 为刚创建的日志记录器设置日志记录格式
file_log_handler.setFormatter(formatter)
# 为全局的日志工具对象(flask app使用的)添加日志记录器
logging.getLogger().addHandler(file_log_handler)
  • 日志等级由低到高:dubug<info<warn<Error<Fatal;
  • 各级别区别(后三个,警告、错误、严重错误,这三者应该都在系统运行时检测到了一个不正常的状态):
  1.  debug 级别最低,可以随意的使用于任何觉得有利于在调试时更详细的了解系统运行状态的东东;
  2.  info  重要,输出信息:用来反馈系统的当前状态给最终用户的;    
  3.  warn, 可修复,系统可继续运行下去;
  4.  Error, 可修复性,但无法确定系统会正常的工作下去;
  5.  Fatal, 相当严重,可以肯定这种错误已经无法修复,并且如果系统继续运行下去的话后果严重。
  • 使用--什么时候使用 info, warn , error ?
  1. info 用于打印程序应该出现的正常状态信息, 便于追踪定位;
  2. warn 表明系统出现轻微的不合理但不影响运行和使用;
  3. error 表明出现了系统错误和异常,无法正常完成目标操作。

项目目录:

最新文章

  1. 【记录】ASP.NET MVC MapRoute .htm 不起作用
  2. 记录思想分享知识编辑器 Markdown 编辑阅读器
  3. 使用Excel对象模型在Excel单元格中设置不同的字体
  4. 自定义tld标签,页面使用
  5. 使用WinINet和WinHTTP实现Http访问
  6. [转]shell脚本打印日志方法
  7. go mode
  8. HMM的概率计算问题和预测问题的java实现
  9. 自动化构建工具—gulp的简单配置
  10. MySQL更改数据库表的存储引擎
  11. Error merging: refusing to merge unrelated histories
  12. GitHub的Windows客户端的使用教程
  13. HoloLens开发手记-全息Hologram
  14. Elasticsearch集群管理工具head插件安装
  15. Xtreme9.0 - Taco Stand 数学
  16. MVC ---- IEnumerable&lt;T&gt;、List&lt;T&gt; 前台遍历展示
  17. servlet Servlet例子
  18. 配置MapReduce程序运行环境
  19. Unity 用JSON库序列化与反序列化类,字典
  20. 防止vue组件渲染不更新

热门文章

  1. Python学到什么程度才可以去找工作?掌握这4点足够了!
  2. java将秒转换为时分秒工具类
  3. BZOJ 5306 [HAOI2018] 染色
  4. 关于GitHub的Hello Word
  5. vscode快捷键大全
  6. A2D Framework - 看如何精简业务逻辑 - 缓存子系统
  7. Spring如何加载log4j配置文件
  8. H3C交换机-SNMP配置
  9. Spring LocalVariableTableParameterNameDiscoverer获取方法的参数名
  10. Django 组件之 ----- content-type