3

tastypierestfullアプリのアクセスロガーの作成に問題があります。サーバーへのリクエストにいくつかのHTTPヘッダーを記録し、それらをdjango設定ファイルで定義されたロガー/ハンドラーに渡したいのですが。アイデアは、すべてのHTTPリクエストをアクセスログファイルに記録することです。

いくつかのログモジュール(アプリ)に遭遇しましたが、それらはすべてデータベースを使用しているため、基本的なアクセスログにはもっと簡単なものが必要です。

4

3 に答える 3

3

アプリケーションルート内の middleware.py に独自のミドルウェアクラスを作成することになりました。

また、'appname.middleware.RequestLoggerMiddleware',Settings.py Middleware セクション内に配置しました。

アクセス ロギング ミドルウェア クラスのコードは次のとおりです。

import logging

logger = logging.getLogger('access')

class RequestLoggerMiddleware(object):
    def process_request(self, request):
        ... logging logic here...

        logger.info('logging message'))
        return None

ミドルウェア コンポーネントの詳細については、Django ミドルウェアのドキュメントを参照してください。

于 2012-11-20T13:00:07.110 に答える
-3
import logging


logger = logging.getLogger('project.app.view')


def my_view(request):
    entry = '%s %s for %s' % (request.method, request.get_full_path(), request.META['REMOTE_ADDR'])
    logger.info(entry)

https://docs.djangoproject.com/en/1.4/topics/logging/を参照してください

于 2012-11-19T20:04:56.750 に答える