2009-07-18 16 views
4

PHPサイトのユーザーアクションログを設定中です。PHPログ - mysql vsファイル

これらをmysqlまたはテキスト/ログファイルに保存することをお勧めしますか?

答えて

5

は、あなたがそれらと何をしたいのかに依存し、私が言うと思います:

  • あなたはログからデータを取得する必要がある場合、MySQLに格納助けるかもしれません
  • あなただけが使うことはほとんどないいくつかのデータ(ただし、違法行為の場合には必要がサイト上で行われ、またはそのようなもの)する必要がある場合、ファイルは遅くないように

十分かもしれません物事があまりにも多く、あなたは両方を使用することもできます(私はいくつかのウェブサイトでこれを少しのトラフィックで使いました。ここでは)すぐにDBにデータを格納するために賢明でなかったであろう:

  • 日中、ファイル
  • と一日一回(または1時間に1回でログを保存し、あなたのアイデアを得ます)バッチを使用してこれらのファイルを解析し、データをデータベースに格納します。

このようにして、DBには常にデータを挿入しません。あなたは必要なすべてのクエリを行うことができます(1日または1時間を過ぎてください)

+1

アプリケーションの設計によっては、ファイルを開いて書き込むほうが、すでに確立されている接続を介してデータベースクエリを作成するよりもずっと速いかもしれません。確かに – n3rd

+0

;また、DBサーバーの負荷に依存しますが、私は –

+0

と思っています。あなたのログ機能がデータベースに書き込む場合、最良の結果を得るために、データベース接続に失敗した場合は、フラットファイルに書き込まれます。そうしないと、サイト/アプリケーションが失敗する可能性があります。唯一のログがデータベースにあるため、失敗した場合は何も取得されません。 –

0

管理領域などのログインを表示する方が簡単なので、MySQLをお勧めします。また、さまざまなフラグ(エラーレベル)を設定し、ログをフィルタリングして興味のある項目を見つけることもできます。また、このデータに簡単に統計機能を組み込むことができます。これは、ログファイルのwhanよりもはるかに簡単です。

しかし、私はあなたのログをどのように使うべきか、そしてそれらを誰が使うべきかによって決まると思います。生ログファイルは少しオタクです:)

1

Zend_Logのようなものを実際の「物理的な」ロギングから抽象化することをお勧めします。このようにして、何らかの理由で状況が変わった場合に、いつでも後から非常に簡単にバックエンドを変更することができます。

0

ほとんどのログ解析ツールでは、解析するための生ログファイルが必要です。ログそのものを見ているならば、dbが良いかもしれません(パスカルが言ったように)。しかし、実際の分析を行う予定がある場合は、ログファイルを使用する方が簡単です。