2.3.2.1 Ruby
Loggerの組み込み手順は、以下のGithubのリポジトリをご参照ください。
https://github.com/mxload/mxload_rb/blob/main/README.md
Loggerが組み込まれた状態で、アプリケーションにリクエストを投げると、リクエストログがMx.Load に送信されるようになります。 このログをもとにシナリオを生成します。
- ログを取得したいRailsのGemfileにmxloadを追加します。
gem 'mxload', github: 'mxload/mxload_rb' , tag: 'v0.2.3'
- gemをインストールします。
$ bundle install
- 下記2行を
config/application.rbまたはconfig/environments/{RAILS_ENV}.rbに追加します。
require "mxload/collector"
config.middleware.insert_before(0, Mxload::Collector)
-
config/application.rbに追加する場合の例
... 略 require "mxload/collector" ... 略 module TodoApiMock class Application < Rails::Application ... 略 config.middleware.insert_before(0, Mxload::Collector) end end -
config/environments/{RAILS_ENV}.rbに追加する場合の例
... 略 require "mxload/collector" Rails.application.configure do ... 略 config.middleware.insert_before(0, Mxload::Collector) end
config/initializers/mxload.rbファイルを作成し、以下の内容を追加します。
Mxload.configure do |config|
config.enable = true
config.project_id = 1
config.service_key = 'servicekey'
config.custom_header = %w[Content-Type]
config.ignore_paths = %w[/health]
end
主な設定パラメータは以下になります。
enable- このgemの有効/無効を切り替えます。デフォルトは
falseです。
- このgemの有効/無効を切り替えます。デフォルトは
project_id- 作成したprojectのidを設定します。
project_idはホーム・またはプロジェクト詳細から確認できます。
project_id
- 作成したprojectのidを設定します。
service_key- # サービスキーの発行 で作成したサービスキーを設定します。
cunstom_header(オプション)- ヘッダーの内容を記録する際に必要です。
例:
"Content-Type": "application/json"を含めたい場合、config.custom_headerの値を%w[Content-Type]に設定します。
- ヘッダーの内容を記録する際に必要です。
例:
ignore_paths(オプション)- リクエストパスが
ignore_paths内にある場合、リクエストログの送信を無視します。/healthなど、ヘルスチェックのパスを無効にしたい場合に設定します。
- リクエストパスが
Mx.Loadに送信されるログパラメータは以下になります。
- メソッド
- リクエストパス
- リクエストボディ
- クエリパラメーター
- リクエストヘッダ
- クッキー