MongodbLogger-Rails 3アプリケーションのログをMongoDBにスタックする

画像



みなさんこんにちは。 今日は、Rails 3-MongodbLoggerの開発について説明します。 順番に始めましょう。



Railsアプリケーションは、デフォルトで、ログフォルダーにクエリログをスタックします。 ログ自体は非常に便利なものです。アプリケーションに送られるリクエストの確認、トレースエラーの確認などに役立ちます。 追加情報を追加できます。 ファイルログはシンプルで効果的ですが、一定の制限があります。多くのWebサーバーを使用する場合、それぞれに独自のログがあります。 簡単にアクセスできません。 RDBMSのエントリは、ログの集中化と簡単なアクセスの問題を解決しますが、他の問題がすぐに発生します。テーブルレイアウトはログ構造ほど柔軟ではありません。 録音が十分に速くない場合があります。 古いログのクリーニング-肩のタスク。 そして、MongoDBが助けになります。







MongoDB(http://www.mongodb.org/)は、テーブルレイアウトの説明を必要としない、オープンソースのドキュメント指向のデータベース管理システムです。 MongoDBがロギングに提供する利点は何ですか:







Rails 3でMongoDBをロガーとして使用するために、特別なgem MongodbLoggerを作成しました。 インストールは非常に簡単です。



Gemfileに追加

 gem "mongodb_logger"




ApplicationControllerに追加

 MongodbLoggerを含める::ベース




MongoDBの構成を作成します。 (wikiのgithub.com/le0pard/mongodb_logger/blob/master/README.mdなどの例-github.com/le0pard/mongodb_logger/wiki/Mongodblogger-settings



Webに接続し(オプション)、config / routes.rbに追加します

 「mongodb_logger / server」が必要
 Mount MongodbLogger :: Server.new ,: at => "/ mongodb"




すべて準備完了です。 これで、RailsアプリケーションがリクエストをMongoDBに記録します。



MongodbLoggerのクリック可能なWebスクリーンショット:



画像



画像



画像



Railsコンソールから検索することもできます。



これで、ログは指定されたサイズを超えず(古いレコードは自動的に消去されます)、エラーのみをフィルタリングします。



利便性は、クエリ内のパラメータで検索できるという事実にもあります。 たとえば、タイプparams [:order_id] = 12のデータはフォームから取得され、そのようなデータはログで検索できます。

 collection.find({"controller" => "order"、 "action" => "show"、 "params.order_id" => order_id})


独自のGoogle AnalyticまたはAirbrakeをほぼ作成することもできますが、そのようなタスクはこのgemに直面しません:)拡張機能はこれを行うことができますが。



公式ウェブサイト: mongodb-logger.catware.org

ソース: github.com/le0pard/mongodb_logger



使用して参加:)



All Articles