簡體   English   中英

如何在Rails中過濾日志

[英]How to filter logs in Rails

在我的Rails應用生產模式下,我將錯誤日志級別設置為error

但是我想為某些控制器設置一個對級別access的動作(或路由),那么我該如何實現呢? 如果日志中有過濾器?

您可以使用環繞過濾器來調整操作的日志記錄級別,例如:

class MyBigFancyController < ApplicationController
  around_action :adjust_logging_level_to_access, only: :show

  def show
  end

  private

  def adjust_logging_level_to_access
    old_level = Rails.logger.level 
    Rails.logger.level = Logger::DEBUG
    yield
    Rails.logger.level = old_level
  end
end

如果必須在許多控制器中執行此操作,請考慮將其移至ApplicationController。

請注意, 在運行時調整Rails日志記錄級別不是線程安全的 如果需要線程安全,則需要在相關位置手動寫入日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM