如何将日志记录从 tweepy 模块打印到标准输出
How to print logging from tweepy module to stdout
我正在使用以下代码打印所有日志记录:
rootLogger = logging.getLogger()
rootLogger.setLevel(logging.NOTSET)
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.NOTSET)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
rootLogger.addHandler(handler)
它在我的脚本中使用的所有模块 urllib3, requests, oauthlib, matplotlib
都工作正常,除了它不打印 tweepy
模块的任何内容。当我使用以下方式打印所有记录器时:
loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict]
它输出来自其他模块的所有记录器并且:
<Logger tweepy.binder (WARNING)>,
<Logger tweepy (WARNING)>
<Logger tweepy.auth (WARNING)>,
<Logger tweepy.cache (WARNING)>,
<Logger tweepy.streaming (WARNING)>
我希望至少在 tweepy 模块中从中获取日志,因为我知道我已连接:
class Stream:
....
....
def on_connect(self):
"""This is called after successfully connecting to the streaming API.
"""
log.info("Stream connected")
Tweepy v3.10 StreamListener
中有on_connect
,默认不登录:
https://github.com/tweepy/tweepy/blob/v3.10.0/tweepy/streaming.py#L35-L42
Stream.on_connect
代码来自 master 分支上的开发版本。
使用 v3.10 进行流式传输时,Tweepy 唯一会在收到未知消息类型时使用日志记录。
我正在使用以下代码打印所有日志记录:
rootLogger = logging.getLogger()
rootLogger.setLevel(logging.NOTSET)
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.NOTSET)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
rootLogger.addHandler(handler)
它在我的脚本中使用的所有模块 urllib3, requests, oauthlib, matplotlib
都工作正常,除了它不打印 tweepy
模块的任何内容。当我使用以下方式打印所有记录器时:
loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict]
它输出来自其他模块的所有记录器并且:
<Logger tweepy.binder (WARNING)>,
<Logger tweepy (WARNING)>
<Logger tweepy.auth (WARNING)>,
<Logger tweepy.cache (WARNING)>,
<Logger tweepy.streaming (WARNING)>
我希望至少在 tweepy 模块中从中获取日志,因为我知道我已连接:
class Stream:
....
....
def on_connect(self):
"""This is called after successfully connecting to the streaming API.
"""
log.info("Stream connected")
Tweepy v3.10 StreamListener
中有on_connect
,默认不登录:
https://github.com/tweepy/tweepy/blob/v3.10.0/tweepy/streaming.py#L35-L42
Stream.on_connect
代码来自 master 分支上的开发版本。
使用 v3.10 进行流式传输时,Tweepy 唯一会在收到未知消息类型时使用日志记录。