在dev(dev_appserver.py)中运行GAE应用程序。我运行时没有显示打印语句,当我杀死(Ctrl + C)应用程序时会显示语句。
这是一个非常简单的应用程序。
dev_appserver命令:
python dev_appserver.py --skip_sdk_update_check=yes C:\Chaitu\Projects\fb
输出:Print语句未显示。
INFO 2017-07-05 10:33:54,759 devappserver2.py:116] Skipping SDK update check.
INFO 2017-07-05 10:33:54,875 api_server.py:297] Starting API server at: http://localhost:53833
INFO 2017-07-05 10:33:54,891 dispatcher.py:209] Starting module "default" running at: http://localhost:8080
INFO 2017-07-05 10:33:54,907 admin_server.py:116] Starting admin server at: http://localhost:8000
INFO 2017-07-05 10:33:59,188 module.py:809] default: "GET /fb/getdim HTTP/1.1" 200 40
调用功能:
class get_dim(webapp.RequestHandler):
_apptitle = None
_projectid = None
_projectnumber = None
def get(self):
#bucket_name = os.environ.get('BUCKET_NAME', app_identity.get_default_gcs_bucket_name())
cfg=appsettings()
self.response.write("Enter into getdim")
for i in cfg._templates:
id=int(i['_id'])
if id == 1:
self.response.write("Enter into if statement")
fbutils._getDim(int(i['_id']),i['_app_id'],i['_app_secret'],i['_access_token'],i['_ad_acct'],i['_filename'],i['_gcsbucket'],cfg)
实际功能:
def _getDim(idno,app_id,app_secret,access_token,ad_acct,file_name,bucket_nm,cfg):
try:
print "Hi This is test message"
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
答案 0 :(得分:0)
最常见的原因是,在dev服务器进程完成之后,操作系统不会刷新正在写入print语句的缓冲区。
使用logging package在dev服务器运行时产生输出。
import logging
def _getDim(idno,app_id,app_secret,access_token,ad_acct,file_name,bucket_nm,cfg):
try:
logging.info("Hi This is test message")
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
logging.exception('Something went wrong.')
默认情况下,dev服务器会抑制级别小于info
的日志消息,但您可以通过将--log_level参数传递给开发服务器来控制此消息。
python dev_appserver.py --skip_sdk_update_check=yes --log_level=debug C:\Chaitu\Projects\fb