2010-11-16 30 views
1

我剛剛部署了一個應用程序到App Engine,一切都很好。我正在使用Django 1.1。僅記錄HTTP而非HTTPS的錯誤,但響應爲200?

我有一個返回一些JSON/JSONP數據的頁面。一切都很好,但我的日誌裏充滿了沒有真正信息的錯誤。我只在使用HTTP訪問應用程序時收到這些錯誤,而在HTTPS時沒有錯誤。

客戶端仍然收到一個200,數據返回罰款方式。只是當請求是HTTP時,App Engine會記錄錯誤。記錄的錯誤全部如下所示。

 
+ 11-16 01:02PM 20.181 /some/url?jsonp=1231234344 200 16ms 8cpu_ms 8api_cpu_ms 0kb.... 
    E 11-16 01:02PM 20.196 
    E 11-16 01:02PM 20.197 
    E 11-16 01:02PM 20.197 www.myapplicationname.appspot.com |1| www.myapp 
    E 11-16 01:02PM 20.197 

這是什麼意思?爲什麼一切都很好,但我總是隻爲非ssl頁面獲取這些日誌?

更新: 這是唯一的日誌引用,我在我的代碼中會涉及導致錯誤的路由。它在我的main.py

#import logging, os 
import os 

# Must set this env var before importing any part of Django 
os.environ['DJANGO_SETTINGS_MODULE'] = 'stampinstats.settings' 

# django 1.1 is setup here to avoid conficts with default 0.96 
import appengine_config 

# Force Django to reload its settings 
from django.conf import settings 
settings._target = None 

import logging 
import django.core.handlers.wsgi 
import django.db 

# Google App Engine imports 
from google.appengine.ext.webapp import util 

def log_exception(sender, **kwargs): 
    logging.exception('Exception in request:') 

sig = django.dispatch.Signal() 
sig.connect(log_exception) 
sig.disconnect(django.db._rollback_on_exception) 

def main(): 
    # Create a Django application for WSGI 
    application = django.core.handlers.wsgi.WSGIHandler() 

    # Run the WSGI CGI handler with the application 
    util.run_wsgi_app(application) 

if __name__ == '__main__': 
    main() 

感謝

回答

1

東西在你的代碼中調用logging.error()

+0

導致這些日誌生成的路由從來沒有記錄過任何內容。我現在真正引用的唯一東西是在我的main.py中,我會在我的問題中發佈它。謝謝 – Justin 2010-11-17 02:35:15

+0

Doh!我在我的網站根文件夾中搜索了logging.error,並且沒有發現它在那個路徑路徑中......我開始在我的應用程序中添加logging.info/error等,試圖縮小它的範圍。在文件深處,我找到了一個對'sys.stderr.write(...'的調用,所以它沒有直接調用logging.Error,而是調用了std_err,這也是爲什麼我沒有找到任何'logging .error'文本,同時對我的文件夾進行搜索...至少我學到了新東西:) – Justin 2010-11-17 23:34:02