---
title: "Railsのログに有用な情報をタグ付けする"
description: "Railsのタグ付きロギングについて最近学びました。次のようにしてログにタグを付けられるのをご存じですか"
canonical: https://oozou.com/til/tag-rails-logs-with-useful-information-32
locale: ja
date: 2020-10-13
topic: ruby-on-rails
---

# Railsのログに有用な情報をタグ付けする

> Railsのタグ付きロギングについて最近学びました。次のようにしてログにタグを付けられるのをご存じですか

Published: 2020-10-13 · Topic: [ruby on rails](https://oozou.com/ja/til-topics/ruby-on-rails) ([markdown](https://oozou.com/ja/til-topics/ruby-on-rails.md))

Railsのタグ付きロギングについて最近学びました。次のようにしてログにタグを付けられるのをご存じですか

```ruby
logger.tagged('Your Tag') { logger.info('Message') }
```

# config/application.rb

次のようにしてグローバルに設定することもできます

```ruby
# config/application.rb
config.log_tags = [:method_on_request_object, lambda { |request| request.method.modifier_method }]
```

# config/application.rb

クライアントのデバイスOSとOSバージョンの情報をログに追加します（クライアントが X-OS と X-OS-Version ヘッダーを送信する必要があります）

```ruby
# config/application.rb
config.log_tags = [ :request_id, lambda { |request| "#{request.headers['HTTP_X_OS']} #{request.headers['HTTP_X_OS_VERSION']}" } ]
```

本番環境では、ロギングとパフォーマンスを最適化するために、config environments の production.rb ファイルに専用の設定を追加できます。

# 1. ログタグ入門

ログタグは、ログにカスタム情報を追加できるRailsの強力な機能で、アプリケーションの挙動のデバッグや理解を容易にしてくれます。ログタグを使えば、関連するログメッセージを分類し、ログをより読みやすく有用なものにできます。このセクションでは、ログタグの概念を紹介し、Railsアプリケーションでの使い方を説明します。

# 2. Railsコンポーネントの設定

Railsコンポーネントの設定は、アプリケーションのセットアップに欠かせない部分です。このセクションでは、アプリケーション、環境、ミドルウェアなど、さまざまなRailsコンポーネントの設定方法を説明します。また、config メソッドを使ってアプリケーションのカスタム設定を行う方法も取り上げます。

# 3. ログタグのカスタマイズ

ログタグをカスタマイズすると、アプリケーションに関連する固有の情報をログに追加できます。このセクションでは、log\_tags メソッドを使ってログタグをカスタマイズする方法を説明します。また、Procや to\_s に応答するオブジェクトを使って動的な情報をログに追加する方法も取り上げます。

# 4. ログタグ付けの例

ログタグ付けは、ログを改善するためにさまざまな形で使える汎用性の高い機能です。このセクションでは、外部APIへのリクエスト、バックグラウンドジョブ、ユーザー情報のロギングなど、さまざまなシナリオでのログタグの使用例を紹介します。また、マルチテナントアプリケーションのデバッグにログタグを使う方法も取り上げます。

# 5. ログタグのベストプラクティス

ログタグを効果的に使うには、ログを読みやすく有用に保つためのベストプラクティスが必要です。このセクションでは、ログを簡潔に保つ方法、意味のあるタグ名を使う方法、タグの付けすぎを避ける方法など、ログタグのベストプラクティスを説明します。また、ログを最大限に活用するために、他のロギングツールやテクニックと組み合わせてログタグを使う方法も取り上げます。

---

Contact OOZOU: hello@oozou.com · +66 2544 0000 · https://oozou.com/ja/contact

More for AI agents: https://oozou.com/llms.txt · every page has a markdown twin at its URL plus ".md"
