Skip to content

Conversation

@jgarber623-cargosense
Copy link
Contributor

Adds a Rack-compatible middleware, SemanticLoggerDatadog::Middleware, for use in Rails and Rack apps.

The Railtie is updated to include the middleware and insert it in the stack before SemanticLoggerRails::Rack::Logger.

This class implelents a Rack middleware and injects it into Rails'
middleware stack. The middleware uses the provided `env` to extract
relevant values and inject them into Semantic Logger's named tags.

This configuration will streamline a typical configuration in many apps.

For example, `config/application.rb`:

```
config.log_tags = {
  remote_ip: :remote_ip,
  request_id: :request_id,
  url: ->(request) { request.original_url },
  useragent: ->(request) { request.headers["user-agent"] },
}
```
@jgarber623-cargosense jgarber623-cargosense self-assigned this Nov 19, 2025
@jgarber623-cargosense jgarber623-cargosense requested a review from a team as a code owner November 19, 2025 20:10
@jgarber623-cargosense jgarber623-cargosense merged commit 85f80cb into main Nov 19, 2025
1 check passed
@jgarber623-cargosense jgarber623-cargosense deleted the add-rack-middleware branch November 19, 2025 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants