2017-11-10 42 views
0

我有一個Rails 4應用程序。在我的development.rb配置文件中,我有: config.log_level =:info。Rails 4服務中的錯誤記錄器級別

對於大多數的應用程序它工作正常,只顯示信息級別的消息。查詢消息也會消失,這沒關係。

但是,我在我的lib文件夾中有一些服務。對他們來說,它看起來沒有獲得環境日誌級別。這是代碼:

@logger = Logger.new(Rails.root.join("log", APP_CONFIG['LOG_FILE'])) 
    if @logger.debug? 
     @logger.info "Logger level = debug" 
    else 
     @logger.info "Logger level > debug" 
    end 

輸出:

I, [2017-11-10T20:50:51.189067 #36138] INFO -- : Logger level = debug 

我缺少什麼?

+0

看到這個答案:https://stackoverflow.com/a/2980635/382982 – pdoherty926

+0

是的,但不明白解決方案100%。我想我使用的是第一種方法,但問題是看起來像lib中的記錄器沒有獲取production.rb文件中的配置(即:config.log_level =:info) – Rober

回答

0

您打電話給.info方法,這會導致日誌條目標記爲INFO

調用Logger#debug應導致你期待什麼(我想)看到:

@logger = Logger.new(Rails.root.join("log", APP_CONFIG['LOG_FILE'])) 
if @logger.debug? 
    @logger.debug "Logger level = debug" # => I, [...] DEBUG -- : Logger level = debug 
else 
    @logger.info "Logger level > debug" 
end 
+0

Nop。我只是打電話給該信息才顯示結果。但關鍵是@ logger.debug?返回true,輸出是:Logger level = debug – Rober