在 rails log 加上有用的標籤資訊
剛學到 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 的價值。