18

Django (Python Web フレームワーク) は、Python のログ システムを使用してログを保存します。

ログ メッセージをデータベースに保存し、管理者ユーザーが Web 経由でそれらを参照できるようにする簡単な方法はありますか? それは私が自分で書くことができるようなものですが、車輪を再発明しても意味がありません. 例外をログに記録したくはありませんが、コードに追加した info/debug/notice タイプのメッセージです。

理想的には、ログ メッセージに関するメタデータ (リモート IP アドレス、ユーザー エージェント、wsgi プロセス ID など) を保存し、それに基づいてフィルター/ブラウズできるようにしたいと考えています (つまり、すべてのログを表示します)。過去 24 時間にこの IP アドレスからのメッセージ)。誰かがこれをしましたか?

4

5 に答える 5

15

Sentryを使用するだけです。Djangoの機能の一部であるRavenは、ログフレームワークにフックするため、アプリからエラーを収集するだけでなく、カスタムログメッセージも表示されるはずです。

于 2012-08-09T16:30:15.483 に答える
9

Sentry の明らかな選択とは別に、演習のために、「James Lin ブログ」に「Creating custom log handler that logs to database models in django」というタイトルの素敵なブログ記事があり、これを使用してこれを行う方法を簡単に説明していますコード サンプルを含む 2 番目のデータベース。

このコードは、標準の Python RotatingFileHandler から適用されています。

... RotatingFileHandler を使用すると、書き込み先のファイルとファイルをローテーションするファイルを指定できます。したがって、私の DBHandler では、挿入するモデルを指定し、設定で有効期限を指定することもできます。何よりも、スタンドアロン アプリで。

これは、単一のデータベースを使用するように簡単に適応させることもできます。

于 2015-02-25T13:36:52.520 に答える
1

django-requests を試してください。私はそれを試してみましたが、基本的にはリクエストログを requests というテーブルに入れるだけです。

于 2014-10-01T18:55:50.443 に答える