shell 脚本中如何获取 python logging 打印的信息?
在 shell 脚本中调用 python 的接口,但是 python API 是通过 python 的 logging 把相关信息打印到屏幕上的,不知道这种情况在 shell 中怎么获取这些 logging 信息,请指教。
代码中是这么写的:
import logging
......
logger = logging.getLogger("123")
......
def debug(msg):
logger.setLevel(logging.DEBUG)
debughandler = logging.StreamHandler()
debughandler.setLevel(logging.DEBUG)
fmt = '%(asctime)s - %(levelname)s - %(message)s'
formatter = logging.Formatter(fmt)
debughandler.setFormatter(formatter)
logger.addHandler(debughandler)
logger.debug(msg)
logger.removeHandler(debughandler)
通过 logger.debug(msg) 打印的信息怎么在 shell 中捕捉到?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
思路:
logger模块里面有写入文件的方法,将log的内容写入一个文件,然后shell脚本读取log文件即可。
以下摘自: https://cuiqingcai.com/6080.html
这里我们指定了输出文件的名称为 output.log,另外指定了日期的输出格式,其中年月日的格式变成了 %Y/%m/%d,另外输出的 format 格式增加了 lineno、module 这两个信息,运行之后便会生成一个 output.log 的文件