S. *_*oop 4 python logging celery supervisord ubuntu-12.04
我这里有一个情况。我有一个 celery 任务,它使用 python 记录器记录到日志文件。但是,当我运行芹菜工人时,我可以在屏幕上看到日志消息。它被写入日志文件,但我的屏幕上也有大量消息。
当我将 celery 放入 supervisord 时,问题就出现了。我已经设置了 std_out 路径和 std_err 路径,但所有工作日志消息都被写入 std_err 日志文件而不是 std_out 日志文件。这样我就无法在 std_err 中获得真正的错误消息,而且日志消息是多余的,因为它无论如何都会写入应用程序日志文件。
我尝试在启动 celery 工作人员时设置日志级别,但似乎没有什么能阻止工作人员将日志消息刷新到屏幕,当在 supervisord 中运行时,会被写入 std_err。
这是我的主管 conf 文件
[program:celery_worker]
command=celery -A CeleryWorker worker --concurrency=4 -l error
directory=/home/swaroop/codebase/src
stdout_logfile=/home/swaroop/codebase/logs/clLogger.log
stderr_logfile=/home/swaroop/codebase/logs/clerrorLogger.log
autostart=true
autorestart=true
Run Code Online (Sandbox Code Playgroud)
任何人都有解决此问题的方法?任何将真正的 celery 错误消息从应用程序日志消息中分离出来的技术都会有所帮助。
小智 6
除非您指定 celery worker 日志文件,否则它将记录到stderr
. 因此,-f LOGFILE
在启动工作程序时使用
以避免登录到屏幕。
例如:
$celery -A proj worker -f proj.log -l ERROR
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5436 次 |
最近记录: |