diff --git a/CHANGELOG.md b/CHANGELOG.md index c489fdf..9198248 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,10 @@ ## [2.0.1] - Unreleased -### Changed or Fixed or Added -* Your contribution here. +## Added +- [#91](https://github.com/aserafin/grape_logging/pull/91) Add ActionDispatch request ID to logger arguments hash as `:request_id` - [@samsonjs](https://github.com/samsonjs). + +- Your contribution here. [2.0.1]: https://github.com/aserafin/grape_logging/compare/v2.0.0...master diff --git a/RELEASING.md b/RELEASING.md index 5e3f805..484d3bd 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -99,7 +99,7 @@ Add the next release to [CHANGELOG.md](https://github.com/aserafin/grape_logging ## [Next Release] ### Changed or Fixed or Added -* Your contribution here. +- Your contribution here. ``` Commit your changes. diff --git a/lib/grape_logging/middleware/request_logger.rb b/lib/grape_logging/middleware/request_logger.rb index cfbd40a..22dc678 100644 --- a/lib/grape_logging/middleware/request_logger.rb +++ b/lib/grape_logging/middleware/request_logger.rb @@ -98,7 +98,8 @@ module GrapeLogging method: request.request_method, path: request.path, params: request.params, - host: request.host + host: request.host, + request_id: env['action_dispatch.request_id'], } end diff --git a/spec/lib/grape_logging/middleware/request_logger_spec.rb b/spec/lib/grape_logging/middleware/request_logger_spec.rb index d2b78b6..7d11fbd 100644 --- a/spec/lib/grape_logging/middleware/request_logger_spec.rb +++ b/spec/lib/grape_logging/middleware/request_logger_spec.rb @@ -2,7 +2,8 @@ require 'spec_helper' require 'rack' describe GrapeLogging::Middleware::RequestLogger do - let(:subject) { request.send(request_method, path) } + let(:env) { { 'action_dispatch.request_id' => 'request-abc123' } } + let(:subject) { request.send(request_method, path, env) } let(:app) { proc{ [status, {} , ['response body']] } } let(:stack) { described_class.new app, options } let(:request) { Rack::MockRequest.new(stack) } @@ -18,6 +19,7 @@ describe GrapeLogging::Middleware::RequestLogger do expect(arguments[:method]).to eq 'GET' expect(arguments[:params]).to be_empty expect(arguments[:host]).to eq 'example.org' + expect(arguments[:request_id]).to eq 'request-abc123' expect(arguments).to have_key :time expect(arguments[:time]).to have_key :total expect(arguments[:time]).to have_key :db