Ruby on rails 在Ruby中,如何配置使用Logger旋转日志时使用的后缀?

Ruby on rails 在Ruby中,如何配置使用Logger旋转日志时使用的后缀?,ruby-on-rails,ruby,logging,Ruby On Rails,Ruby,Logging,我使用记录器每天旋转文件。我注意到Logger使用以下格式的日期后缀旋转文件: ${logname}.YYYYMMDD ${logname}.YYYY-MM-DD 但是,我希望它采用以下格式: ${logname}.YYYYMMDD ${logname}.YYYY-MM-DD 有什么办法可以做到这一点吗?通过查看,日期格式似乎是硬编码的: def shift_log_period(period_end) postfix = period_end.strftime("%Y%m%

我使用记录器每天旋转文件。我注意到Logger使用以下格式的日期后缀旋转文件:

${logname}.YYYYMMDD
${logname}.YYYY-MM-DD
但是,我希望它采用以下格式:

${logname}.YYYYMMDD
${logname}.YYYY-MM-DD
有什么办法可以做到这一点吗?

通过查看,日期格式似乎是硬编码的:

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

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

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


config.logger=logger.new(“路径/to/logs/”,没有日志文件,每个日志的大小)
有关更多信息,请查看但您始终可以使用monkey patch logger class;)更糟糕的是,该方法是私有的,因此我们也不能重写它。我使用的是另一个日志库扩展名采用
YYYYMMDD
格式的原因是它可以很容易地根据日期滚动文件。这几乎是一个简单的数学,在考虑了月份中的天数并将值转换成整数之后。使用
YYYY-MM-DD
并不难,但是您必须重新创建整数值,或者将其解析为日期,然后重新生成格式。就个人而言,我认为这将是对Logger的一个很好的扩展,所以也许你应该让它工作起来,并将其作为补丁提交。这并不能真正回答这个问题