python logging日志配置,如何不输出到控制台

发布于 2022-09-07 21:02:34 字数 466 浏览 20 评论 0

我的日志配置如下,运行时自动输出到控制台,用nohup挂起,相应的输出也会输出nohup.out
同时my.log也会有正确的日志输出
my.log的日志输出格式是正确的,输出到控制台的日志和ide(pychram)调试时产生的日志一样

logHandler = TimedRotatingFileHandler("logs/my.log", when="midnight")
logFormatter = logging.Formatter('%(asctime)s %(name)-12s %(levelname)-8s %(message)s')
logHandler.setFormatter(logFormatter)
logger = logging.getLogger('myapp')
logger.addHandler(logHandler)
logger.setLevel(logging.INFO)

具体应该怎么修改?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

偷得浮生 2022-09-14 21:02:34

无需改python代码,修改一下启动脚本更好,可以将输出定义到/dev/null。如下:

#!/usr/bin/env bash

nohup 你的执行命令 > /dev/null 2>&1 &

详细解释:
> /dev/null 就是把标准输出流(代号是1)重定向到一个不存在的设备里,也就是直接丢弃。2>&1就是把标准错误流(代号是2)放到标准输出流(代号是1)里,也就是输出流是标准输出和标准错误混杂在一起。这样无论是标准输出还是标准错误都被丢弃了。最后一个& 是后台启动。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文