設定

class Application < Rails::Application
  ...

  require Rails.root.join("lib/tagged_logger.rb")
  initializer "tagged_logger.insert_middleware" do |app|
    app.config.middleware.use TaggedLogger::Middleware
  end
end
# frozen_string_literal: true

module TaggedLogger
  class Middleware
    def initialize(app)
      @app = app
    end

    def call(env)
      request = ActionDispatch::Request.new(env)
      request.session.send(:load!) unless request.session.loaded?
      if (user_id = request.session[:user_id])
        tag = "user_id=#{user_id}"
        Rails.logger.tagged(tag) do
          @app.call(env)
        end
      else
        @app.call(env)
      end
    end
  end
end

アウトプット

[user_id=1] が今回付与したタグ

06:08:00 app.1  | Started GET "/api/v1/hoge" for 172.18.0.1 at 2020-02-10 06:08:00 +0000
06:08:00 app.1  | Cannot render console from 172.18.0.1! Allowed networks: 127.0.0.0/127.255.255.255, ::1
06:08:00 app.1  | [user_id=1] Began GET "/api/v1/hoge" for 172.18.0.1 at 2020-02-10 06:08:00 +0000

Rails アプリケーションのデバッグ - Railsガイド