python log

refer

hesy简单整理的gist笔记

基本logging操作

有了loguru其实不太需要知道这些底层的了,仅仅有需要的时候改下,比如添加log_first(info,5)之类的功能

可以考虑使用filter或者context特性进行修改
link1
link2

Python 日志库 logging 的理解和实践经验

  • 父模块和子模块的logging权限
  • 当一个 logger 的 level 被设置为 NOTSET 时,如果有父 logger,会将 log 传递给父 logger 处理,只有在 logger 是 root logger 或 propagate 属性设置为 False 时,才会由自己处理

Filter可以学习下

logging的多种handler种类(包括logging.handlers.RotatingFileHandler)

高级库

  • 推荐
  • 颜色的配置可以看看这个colored-glog
    • 注意,人家说都写进stderr,tee是不是只关注stdout的内容…
    • glog居然有检查宏么…可以试试2333 ( log.check_ge( expr )

实践

  • 查看tensorflow的logging
    >>> import tensorflow as tf
    >>> import logging
    >>> tfLog = logging.getLogger('tensorflow')
    >>> tfLog.propagate
    True
    >>> tfLog.handlers
    [<StreamHandler <stdout> (NOTSET)>]
    
    • tensorflow的日志是logging模块的子模块(看来就是包装了下python自带的logging罢了)
    • tfLog.handlers为stdout, 日志等级NOTSET的话就会传递给root logger去做 – 前提是子logger的propagate属性为True(验证了一下,这里就是True)-- 否则除了Warning等级的信息,不然都不会输出。
    >>> from tensorflow.compat.v1.logging import set_verbosity,INFO
    >>> set_verbosity(INFO)
    >>> tfLog.handlers
    [<StreamHandler <stdout> (NOTSET)>]
    
    • 将tf的日志等级设置为INFO,发现tfLog等级没变,可以大胆猜测这个日志等级设置函数应该设置的是root logger的等级了。



  • 将tf的logging模块导入rotation日志中
    直接看代码

misc

Tensorflow 和 logging 模块冲突问题解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值