【问题标题】:In Ruby, How do I configure the suffix used while rotating logs using Logger?在 Ruby 中,如何配置使用 Logger 旋转日志时使用的后缀?
【发布时间】:2011-12-22 19:12:08
【问题描述】:

我每天都使用 Logger 来轮换文件。我注意到 Logger 使用以下格式的日期后缀旋转文件:

${logname}.YYYYMMDD

但是,我希望它的后缀格式如下:

${logname}.YYYY-MM-DD

有什么想法可以实现这一点吗?

【问题讨论】:

  • 扩展名采用YYYYMMDD 格式的原因是它可以很容易地根据日期滚动文件。在考虑了月份中的天数并将值转换为整数之后,这几乎是简单的数学运算。使用YYYY-MM-DD 并不难,但您必须重新创建整数值,或将其解析为日期,然后重建格式。就个人而言,我认为这将是对 Logger 的一个很好的扩展,所以也许你应该让它工作并将其作为补丁提交。

标签: ruby-on-rails ruby logging


【解决方案1】:

source 看来,日期格式似乎是硬编码的:

def shift_log_period(period_end)
      postfix = period_end.strftime("%Y%m%d") # YYYYMMDD

因此,除了通过计划作业重命名创建的文件之外,我想没有办法做到这一点。

【讨论】:

  • 但是你总是可以猴子补丁 Logger 类;)
  • 更糟糕的是,该方法是私有的,因此我们也不能覆盖它。我使用了不同的日志库
【解决方案2】:

您可以在 application.rb 中设置日志记录配置,如

config.logger = Logger.new("path/to/logs/",NO_OF_LOG_FILES, SIZE_OF_EACH_LOG) 了解更多信息,请查看this out

【讨论】:

  • 这并不能真正回答问题
猜你喜欢
  • 1970-01-01
  • 2019-07-03
  • 2016-09-08
  • 2019-09-11
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
  • 2017-10-21
  • 2013-07-27
相关资源
最近更新 更多