Rails ActiveJob filter arguments

最近在寫activejob時,發現log裡會用info level記錄傳到queue backend的參數

如果傳很大的東西或是暫存的密碼等,會造成log混亂和資安問題

解決辦法就是在config/initializers/新增一個檔案來覆蓋那個method

使用ActiveSupport.on_load去hook的原因是logger會lazyload

如果沒有這樣做直接等after_initialize就上,會造成enqueue時無法覆蓋的問題

# /config/initializers/override_activejob_logsubscriber.rb
ActiveSupport.on_load :active_job do
  class ActiveJob::Logging::LogSubscriber
    private def args_info(job)
      # override this method to filter arguments shown in app log
    end
  end
end

留言

粗體斜體刪除線連結引用圖片程式碼

注意:您的電子信箱將不會被公開,且網站連結不會被搜尋引擎採計

{124} {123} {122} {121} {120} {119} {118} {117} {116} {115} {114} {113} {112} {111} {100} {025} {024} {023} {022} {021} {020} {019} {018} {017} {016} {015} {014} {013} {012} {011} {010} {009} {008} {007} {006} {005} {004} {003} {002} {001}