【问题标题】:Looks like logs are crashing my Django app看起来日志正在使我的 Django 应用程序崩溃
【发布时间】:2013-10-06 15:56:39
【问题描述】:

我有一个在 heroku 上运行的 Django 应用程序。 该应用程序不断崩溃,并显示以下堆栈跟踪:

Traceback (most recent call last):
File "/app/.heroku/python/bin/honcho", line 9, in <module>
    load_entry_point('honcho==0.4.2', 'console_scripts', 'honcho')()
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/command.py", line 292, in main
    app.parse()
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/command.py", line 129, in parse
    options.func(self, options)
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/command.py", line 190, in start
    sys.exit(process_manager.loop())
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/process.py", line 114, in loop
File "/app/.heroku/python/lib/python2.7/site-packages/honcho/printer.py", line 22, in write
Process exited with status 1

从 Honcho 的 printer.py 源代码看来,在 honcho 尝试写入控制台时出现了问题。

我的应用程序正在从网页中提取数据,因此我可能会打印一些带有重音字符的文本。这有关系吗?

目前我正在打印这样的东西:

logger.info('Saved article' + str(title) + '.')

我也可能不时转储一些json:

logger.debug('Article: %s' % json.dumps(article_datas, indent=4))

它在我的开发机器上运行良好,但在 Heroku 上却不行。 我需要以不同的方式记录吗?为什么这在 H​​eroku 上不起作用?

【问题讨论】:

  • 可能是对 heroku 的任何写作许可?
  • 其他日志工作正常,我可以毫无问题地看到它们。我不确定它是否相关。

标签: python django logging heroku printing


【解决方案1】:

我终于发现我的 Heroku 应用需要将 PYTHONIOENCODING 环境变量设置为 utf-8

heroku config:set PYTHONIOENCODING=utf-8

有关stdout 编码的详细信息,请参阅this 问题。

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 2019-01-03
    • 2011-01-14
    • 2011-04-09
    • 2012-11-15
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多