【问题标题】:Python. Redirect stderr to log filePython。将标准错误重定向到日志文件
【发布时间】:2011-01-12 20:09:36
【问题描述】:

我有 Django 网站正在处理 tornado 和 nginx。

我拿了这个龙卷风发射器script (tornading.py)

然后我使用 python openid 将一些信息输出到 sys.stderr。

结果我得到 IOError。

如何使用日志包重定向它?

我想过

f = open("myfile.log", "w")
sys.stderr = f

python tornado.py > /dev/null 2>&1

但是最好的解决方法是什么?

【问题讨论】:

    标签: python django stderr tornado


    【解决方案1】:

    最好的方法是 openid 库不打印到标准错误,而是使用某种日志记录 API(例如日志记录模块)。我同意 thkala 的观点,从长远来看修改第三方代码不好,所以你应该修复它,然后将修复提供给 openid 作者。

    为了推动开源社区的发展,这是解决这个问题的最佳方式。

    【讨论】:

      【解决方案2】:

      使用 shell 重定向与其说是一种解决方案,不如说是一种变通方法,它可能并不总是可行,具体取决于脚本的启动方式。

      但是,它具有明显的优势,即您不必修改第三方代码。当您决定进行例如将上述代码从上游更新到其最新版本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-26
        • 1970-01-01
        • 2016-10-07
        • 2020-11-30
        相关资源
        最近更新 更多