如何将调试信息从Python脚本打印到Azure WebJob控制台?
我已经成功deployed a continuously running Python WebJob on Microsoft Azure,我已经包含了我的软件包,当控制台显示出一些错误时,我已经能够修复它们并re-upload through FTP。
现在,控制台(Azure WebJobs仪表板)显示我的脚本正在运行。
[10/29/2015 10:42:53 > a19167: SYS INFO] Status changed to Starting
[10/29/2015 10:42:53 > a19167: SYS INFO] Job directory change detected: Job file 'run.py' timestamp differs between source and working directories.
[10/29/2015 10:42:58 > a19167: SYS INFO] Run script 'run.py' with script host - 'PythonScriptHost'
[10/29/2015 10:42:58 > a19167: SYS INFO] Status changed to Running
但是,我的脚本中充斥着print()
不能显示的语句。我也尝试了sys.stdout.write()
和sys.stderr.write()
,但他们也没有。
更新:打印信息确实显示!它们只是每隔几个小时出现一次......
答案 0 :(得分:1)
要立即在Azure WebJobs控制台中查看日志语句,只需调用sys.stdout.flush()
在初始化Web作业之后,以及在处理单个任务(例如处理队列消息)之后刷新控制台输出是有意义的。