博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pythonn全栈学习笔记--logging模块学习(四)
阅读量:4705 次
发布时间:2019-06-10

本文共 2048 字,大约阅读时间需要 6 分钟。

一、logging相关配置

1 import logging 2 """ 3     asctime:运行时间 4     name:主模块名称 5     levelname:日志级别  INFO、DEBUG 6     message:日志内容 7 """ 8 # 日志配置 9 logging.basicConfig(level=logging.DEBUG, format='%(asctime)s-%(name)s - \10                                         %(levelname)s-%(message)s')11 12 # 声明了一个 Logger 对象,它就是日志输出的主类13 # __name__:执行主模块的名称14 logger= logging.getLogger(__name__)15 # 日志信息内容输出16 logger.info('信息')17 # 日志信息调试输出18 logger.debug("调试")19 # 日志信息警告输出20 logger.warning("警告")21 logger.info("完成")

 注: 

1 # 另一种设置日志级别的方式,对实例化对象进行级别配置2 logger.setLevel(level=logging.DEBUG)

 

  • filename:即日志输出的文件名,如果指定了这个信息之后,实际上会启用 FileHandler(日志存入文件中),而不再是 StreamHandler(控制台输出),这样日志信息便会输出到文件中了。
  • filemode:这个是指定日志文件的写入方式,有两种形式,w:清除后写入,一种是 a:追加写入。
  • format:指定日志信息的输出格式
  • datefmt:指定时间的输出格式。
  • style:如果 format 参数指定了,这个参数就可以指定格式化时的占位符风格,如 %、{、$ 等。
  • level:指定日志输出的类别,程序会输出大于等于此级别的信息
  • stream:在没有指定 filename 的时候会默认使用 StreamHandler,这时 stream 可以指定初始化的文件流。
  • handlers:可以指定日志处理时所使用的 Handlers,必须是可迭代的。

扩展:

  • level对应等级

 

    •   部分属性详情:

 

 二、Handler用法:

 

1 import logging 2 from logging.handlers import HTTPHandler 3 import sys 4  5  6 # 实例化logging一个对象 7 logger = logging.getLogger(__name__) 8 # 配置日志级别为DEBUG 9 logger.setLevel(level=logging.DEBUG)10 # 指定信息输出格式11 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')12 13 # streamHandler14 # 指定日志文件并创建一个handler对象15 stream_handler = logging.StreamHandler(sys.stdout)16 stream_handler.setLevel(level=logging.DEBUG)17 # 将输出格式和handler绑定18 stream_handler.setFormatter(formatter)19 # 将handler对象和logger(日志对象)绑定20 logger.addHandler(stream_handler)21 22 # FileHandler23 file_handler = logging.FileHandler('out.log')24 file_handler.setLevel(logging.INFO)25 file_handler.setFormatter(formatter)26 logger.addHandler(file_handler)27 28 # HTTPHandler29 http_handler = HTTPHandler(host='localhost:8001', url='log', method='POST')30 logger.addHandler(http_handler)31 32 # 日志输出信息33 logger.info('Info')34 logger.debug('Debug')35 logger.warning('Warning')36 logger.info('Finish')

 

 

三、Formatter

转载于:https://www.cnblogs.com/myanswer/p/9285296.html

你可能感兴趣的文章
Partial Tree UVALive - 7190(完全背包)
查看>>
Ubuntu安装搜狗拼音教程
查看>>
Happy Number
查看>>
Sqlserver 系统视图简单说明
查看>>
【摘录】PHP异步调用实现方式
查看>>
php缓存机制
查看>>
bzoj2049 线段树 + 可撤销并查集
查看>>
sql语句---存在即更新,否则insert
查看>>
cookie机制、session机制
查看>>
BZOJ 3787: Gty的文艺妹子序列
查看>>
Comet OJ - Contest #5 简要题解
查看>>
CF1093G Multidimensional Queries
查看>>
移动端提升页面速度与网站性能
查看>>
深度学习中优化【Normalization】
查看>>
POJ2309BST(树状数组)
查看>>
洛谷P2114 起床困难综合症【位运算】【贪心】
查看>>
net 把指定 URI 的资源下载到本地
查看>>
一个关于session的问题
查看>>
加快开发时间的8个CSS的预处理程序
查看>>
dom元素高度、屏幕高度 获取
查看>>