【发布时间】:2020-08-27 23:22:13
【问题描述】:
我正在运行一个 Telegram 机器人,它基本上是我制作的贝叶斯分类器的接口。我发出命令在远程服务器上开始测试,测试人员最初使用logging 模块将有关测试的信息打印到标准输出。当我尝试通过subprocess.check_output 生成子进程时,我注意到 stdout 和 stderr 都在空字节字符串中。我通过用print 函数替换最后一个真正重要的logging.info 调用来解决这个问题。我猜logging 不会写在subprocess.check_output 期望的相同标准输出上?我做错了吗?
编辑
如被问及,我正在添加更多关于我实际运行的代码的上下文。我不知道这是否重要,但为了完整起见,我会补充一点,我用来运行机器人的框架是 pyrogram。
【问题讨论】:
-
如果您在终端中“按原样”运行应用程序,您能看到日志消息吗?
-
是的,我知道,实际上当 subprocess.check_output 运行时,我在终端中看到了日志,但模块似乎看不到它们
-
能把这个问题的相关代码加进去吗?
subprocess._check_output设置以及关于生成输出位置的代码。
标签: python logging subprocess bots