1
我正在尋找一種方法來配置Rails服務器日誌,只有當客戶端已經聯繫到特定的主機名。例如我可以這樣做,http://public.example.com不會被記錄,但http://debug.example.com(相同的底層Rails應用程序服務器)確實被記錄(或理想地比常規主機更詳細地登錄)。這將有助於生產調試。Rails - 有條件地記錄特定主機名
我正在尋找一種方法來配置Rails服務器日誌,只有當客戶端已經聯繫到特定的主機名。例如我可以這樣做,http://public.example.com不會被記錄,但http://debug.example.com(相同的底層Rails應用程序服務器)確實被記錄(或理想地比常規主機更詳細地登錄)。這將有助於生產調試。Rails - 有條件地記錄特定主機名
您可以使用gem Lograge來定製您的日誌。這顆寶石會給你更多的自定義日誌。例如,在你的情況下,我會這樣做
安裝好寶石後。在Application Controller
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
# This will add request's host to lograge so you can use it to filter log later
def append_info_to_payload(payload)
super
payload[:host] = request.host
end
end
創建於config/initializers/lograge.rb
# config/initializers/lograge.rb
Rails.application.configure do
config.lograge.enabled = true
config.lograge.custom_options = lambda do |event|
# custom log on specific domain
if event.payload[:host] == "debug.example.com"
{:host => event.payload[:host]}
else
{}
end
end
end
和文件現在,您可以在域自定義日誌的基礎上,就如何定製請閱讀:https://github.com/roidrage/lograge
非常酷。我已經在一些環境中使用Lograge ...沒有意識到它使自定義更容易。 – mahemoff