2016-04-23 3 views
0

私はHeroku上で実行されているWaitressサーバーでDjango 1.9.5/Python 3で動作するようにログを取得しようとしていましたが、今までできませんでした。これは私が私の本番サーバーDjangoの設定に追加した構成です:Heroku PapertrailとウェイトレスでDjangoロギングを使用する方法

settings.py

LOGGING = { 
    "version": 1, 
    "disable_existing_loggers": False, 
    "handlers": { 
     "console": { 
      "level": "INFO", 
      "class": "logging.StreamHandler", 
      "stream": sys.stdout 

     }, 
    }, 
    "loggers": { 
     "django": { 
      "handlers": ["console"], 
     } 
    } 
} 

views.py

logger = logging.getLogger(__name__) 

class IndexView(View): 
    def get(self, request): 
     logger.info('This is a test INFO error') 
     return render(request, 'index.html', {}) 

これが出力されていない理由を任意のアイデア私のHeroku Papertrailに何か?

答えて

1

あなたのロギング設定がdjango名前空間の下にあるすべてのログを取得するように設定されているが、あなたのviews.pyにあなたが設定別の名前空間を使用している:

logger = logging.getLogger(__name__) # __name__ resolves to the name of your app. 

あなたは(あなたのアプリを追加する必要があり、それがmyappと呼ばれていますと言います)をログ記録の設定に変更してください:

"loggers": { 
    "django": { 
     "handlers": ["console"], 
    }, 
    "myapp": { 
     "handlers": ["console"], 
    } 
} 
+0

ありがとうございました!また、 'logger.warning()'以上でログを記録する必要があることが判明しました – Hybrid