Skip to content

Draft: Gitlab::AppLogger set as Rails.logger

Hercules Merscher requested to merge hmerscher-rails-logger-gitlab-logger into master

What does this MR do and why?

Part of https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/2145, gitlab-com/gl-infra/scalability#2192.

Rails.logger should use Gitlab::AppLogger:

$ gdk rails c
--------------------------------------------------------------------------------
 Ruby:         ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c5) [arm64-darwin21]
 GitLab:       15.10.0-pre (4c69b7d724c) EE
 GitLab Shell: 14.17.0
 PostgreSQL:   12.13
--------------------------------------------------------------------------------
Loading development environment (Rails 6.1.7.2)
[1] pry(main)> Rails.logger.fatal 'hello logger'
=> [Gitlab::AppJsonLogger]
[2] pry(main)> Rails.logger.info 'hello logger again'
=> [Gitlab::AppJsonLogger]
[3] pry(main)>

Correctly outputting to the logfile in the right format:

$ tail -n 2 log/application_json.log
{"severity":"ERROR","time":"2023-02-24T14:59:41.490Z","correlation_id":null,"message":"hello logger"}
{"severity":"INFO","time":"2023-02-24T15:00:22.231Z","correlation_id":null,"message":"hello logger again"}

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Hercules Merscher

Merge request reports

Loading