OOZOU
與我們聯繫
返回 TIL 列表
ruby on rails

在 rails log 加上有用的標籤資訊

October 13, 2020

剛學到 rails 的 tagged logging。你知道可以用下面的方式為 log 加上標籤嗎

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

config/application.rb

你也可以用下面的方式全域套用

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

config/application.rb

把 client 的裝置 OS 和 OS 版本資訊加進 log(需要 client 送出 X-OS 和 X-OS-Version 標頭)

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

在 production 環境中,可以在 config environments production.rb 檔案加入特定設定,以最佳化 logging 和效能。

1. log tags 簡介

Log tags 是 Rails 一項強大的功能,讓你可以在 log 中加入自訂資訊,使除錯和理解應用程式行為變得更容易。透過 log tags,你可以把相關的 log 訊息分門別類,讓 log 更易讀、更有用。在這一節,我們會介紹 log tags 的概念,並說明如何在你的 Rails 應用程式中使用它們。

2. 設定 Rails 元件

設定 Rails 元件是建置應用程式的重要一環。在這一節,我們會討論如何設定各種 Rails 元件,包括 application、environment 和 middleware。我們也會說明如何使用 config 方法為你的應用程式建立自訂設定。

3. 自訂 log tags

自訂 log tags 讓你可以在 log 中加入與你的應用程式相關的特定資訊。在這一節,我們會討論如何用 log_tags 方法自訂 log tags。我們也會說明如何使用 Proc 和能回應 to_s 的物件,為 log 加入動態資訊。

4. log 標籤範例

Log tagging 是很靈活的功能,可以用各種方式改善你的 log。在這一節,我們會提供在不同情境使用 log tags 的範例,例如記錄對外部 API 的請求、背景工作和使用者資訊。我們也會說明如何用 log tags 為多租戶應用程式除錯。

5. log tags 的最佳實務

要有效使用 log tags,需要遵循一些最佳實務,確保你的 log 易讀且有用。在這一節,我們會討論使用 log tags 的最佳實務,包括如何讓 log 保持精簡、如何使用有意義的標籤名稱,以及如何避免過度加標籤。我們也會說明如何把 log tags 和其他 logging 工具與技巧搭配使用,充分發揮 log 的價值。

更多關於 ruby on rails 的筆記

ruby on railsFebruary 10, 2022

用 Pundit Policy 管理 permitted parameters、預設值與各 action 的參數

要管理 permitted params,你可以在你的 policy 中加入 permitted\attributes 和 permitted\attributes\for\#{action},例如

ruby on railsJanuary 31, 2022

在 Turbo 中用 `requestSubmit` 送出表單

Turbo 會監聽 form 上的 submit 事件。因此,用 JS 送出表單時,請一律使用 requestSubmit。

ruby on railsJanuary 19, 2022

在 GitHub Actions 中讓 Rubocop 與 ESLint 忽略 bundled gems

Rails 專案在 GitHub actions 中通常會把 gems 安裝到 vendor 目錄,方便在後續執行時使用快取。

有專案構想嗎?

我們很樂意聆聽您正在打造的產品。

開始對話hello@oozou.com
OOZOU Logo

曼谷 · 新加坡 · 香港

X
Facebook
Instagram
LinkedIn

服務

  • Web 開發
  • AI 代理人與生成式 AI
  • 行動應用開發
  • 數據分析與工程
  • UI/UX 與產品設計
  • 數位轉型

公司

  • 關於我們
  • 職涯
  • 部落格
  • 案例研究
  • Today I Learned
  • 聯繫我們

更多

  • 產業
  • 合作夥伴網絡
© 2026 OOZOU. 版權所有。
隱私政策行為準則反賄賂反貪腐政策