簡體   English   中英

Rails production.log是否會無限期存儲?

[英]Does a rails production.log store indefinitely?

如果沒有,它的半衰期是什么?

它確實可以在哪里找到該信息?

在我的服務器上,我發現了每個發行版的一些日志。 但是他們只能追溯到幾天前。

具體來說,我正在尋找兩周前我的郵件服務器停機時發送的電子郵件。

簡短的回答:是的,它可以無限期存儲。 如果找不到所需的信息,則可能在不知不覺中將日志截斷了,或者對應用程序進行了其他配置。


答案略長:默認記錄器是ActiveSupport::BufferedLogger的實例,這是一個非常簡單的記錄器。 比Ruby的股票Logger類還要簡單。 它不知道極限或旋轉。

但是Rails與任何Ruby Logger或類似Log4r的對象兼容。 如果您安裝的應用程序不是您自己制作的,並且想知道它是否在做一些與常規Rails不同的操作,則可以在config目錄中查看它是否在使用其他記錄器類。

通常使用config/environment.rbconfig/environments/production.rb config.logger = [...]配置其他記錄器。 在默認的Rails應用程序模板中,后一個文件包含以下注釋示例:

# Use a different logger for distributed setups
# config.logger = SyslogLogger.new

我用:

config.logger = ActiveSupport::BufferedLogger.new(Rails.root.join("log","production.log"))

在config / environments / production.rb中。 根據API的規定 ,日志消息的數量上限為1000。

暫無
暫無

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

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