2017-07-05 12 views
1

dev(app_dev_appserver.py)でGAEアプリケーションを実行しています。実行時に印刷ステートメントが表示されないため、アプリケーションを終了(Ctrl + C)したときにステートメントが表示されます。GAEに印刷文が表示されない

非常に簡単なアプリケーションです。

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

この原因のようにほとんどは、オペレーティングシステムがあなたのprint文が書かれているバッファをフラッシュされていないされていることからdevサーバの処理が終了するまで。

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未満のレベルでログメッセージを抑制しますが、devのサーバーに--log_levelパラメータを渡すことで、これを制御することができます。

python dev_appserver.py --skip_sdk_update_check=yes --log_level=debug C:\Chaitu\Projects\fb 
+0

ありがとうSnakecharmerb。私の場合、オプション "--log_level = debug"は役に立ちません。 OSはWindows 10です。何度かうまく動作していました。 print文のような多くの問題に直面しているいくつかの時点では表示されず、関数を実行したかどうかわからないこともあり、メッセージを表示するresponse.logging.infoの種類はありません。 – user374374

関連する問題