最近在寫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
留言