看起来日志正在崩溃我的Django应用程序

时间:2013-09-30 17:22:00

标签: python django logging heroku printing

我在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上没有。 我需要以不同的方式记录事物吗?为什么这不适用于Heroku?

1 个答案:

答案 0 :(得分:0)

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

heroku config:set PYTHONIOENCODING=utf-8

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