之前在简书中看了一篇关于日志功能的文档,供大家参考:https://www.jianshu.com/p/62f7b49b41e7

Python通过logging模块提供日志功能,所以直接导入即可

import logging

1.定义日志收集器,指定收集器的名称,返回logging对象

case_logger = logging.getLogger('case')

2.指定日志收集器的日志等级,NOTEST(0) DEBUG(10) INFO(20) WARNING(30) ERROR(40) CRITICAL(50)

注意:日志的等级和收集器的等级,只能收集指定日志等级及以上的等级

case_logger.setLevel('DEBUG')

3.定义日志输出渠道,可以同时定义多个:console 控制台,日志文件,日志服务器syslog,数据库

# 输出到控制台
console_handle = logging.StreamHandler()
# 输出到日志文件
file_handle = logging.FileHandler('case.log', encoding='utf-8')

4.指定日志输出渠道的日志等级

注意:收集器日志等级<=输入渠道等级,即设定的输出渠道等级为INFO,那么收集器日志等级只能是NOTEST(0) DEBUG(10) INFO(20)

console_handle.setLevel('ERROR')
file_handle.setLevel('INFO')

5.定义日志显示格式,具体的日志显示格式可以参考官方文档:https://docs.python.org/3/library/logging.html

simple_formatter = logging.Formatter(‘%%(asctime)s:%%(name)s:%%(levelname)s’)
verbose_formatter = logging.Formatter('%%(asctime)s:%%(name)s:%%(levelname)s:%%(message)s')
# 指定终端显示简单结构日志
console_handle.setFormatter(simple_formatter)
# 指定日志文件显示复杂结构日志
file_handle.setFormatter(verbose_formatter)

6.将日志收集器和输出渠道进行对接

case_logger.addHandler(console_handle)
case_logger.addHandler(file_handle)

7.测试

case_logger = HandleLog().get_logger()
case_logger.debug('这个是debug级别的日志')
case_logger.info('这个是info级别的日志')
case_logger.warning('这个是warning级别的日志')
case_logger.error('这个是error级别的日志')
case_logger.critical('这个是critical级{:的日志')

最新文章

  1. 使用nodejs调用微信发送红包
  2. 2014年物联网Internet of Things应用简介
  3. centos6.5搭建lnmp环境
  4. python 标准库
  5. 传统企业,&quot;哀兵必胜&quot;的想法要不得
  6. 关于uploadify 没有显示进度条!!!!
  7. Window vagrant 安装部署【转】
  8. (转)SQL Server2005 异常处理机制(Begin try Begin Catch)
  9. Python模块的介绍
  10. Kafka 0.10 SocketServer源代码分析
  11. js 骂人不带脏字 (!(~+[]) + {})[--[~+&quot;&quot;][+[]] * [~+[]] + ~~!+[]] + ({} + [])[[~!+[]] * ~+[]] 图解
  12. Spring Boot分布式系统实践【扩展1】shiro+redis实现session共享、simplesession反序列化失败的问题定位及反思改进
  13. linux下安装与配置Redis
  14. 2、vuex页面刷新数据不保留,解决方法(转)
  15. Codeforces Round #429 (Div. 1) C. On the Bench(dp + 组合数)
  16. 了解Job和JobDeatil ,JobDataMap (三)
  17. Power BI 与 Azure Analysis Services 的数据关联:3、还原备份文件到Azure Analysis Services
  18. linux的基本操作与常见命令
  19. 每天一个linux命令(1):pwd命令
  20. 深入浅出Node.js---Connect模块解析 。转载

热门文章

  1. python基础 格式化输出
  2. Matrix Power Series(POJ 3233)
  3. oracle之insert语句总结
  4. 本周 GitHub 速览:自动化当道,破密、爬虫各凭本事
  5. js之按钮切换
  6. Mysql数据分片技术(一)——初识表分区
  7. doeker部署zabbix
  8. java面试题2-自己整合的
  9. Final终态类和Finally
  10. 第一篇 Hell wcf