【问题标题】:Multiple log file and log rotation in Ruby on RailsRuby on Rails 中的多个日志文件和日志轮换
【发布时间】:2020-08-30 11:49:40
【问题描述】:

我是 ruby​​ on rails 的新手。我很难找到编写多个日志和每日滚动文件附加程序的解决方案。

输出将是这样的:(文件夹 {my project}/log 中的日志文件)

db_access.log
db_access.log.20200513
...
user_operator.log
user_operator.log.20200513
...

我找到了一个简单的解决方案。

【问题讨论】:

  • 你必须了解如何使用SO编辑器。

标签: ruby-on-rails logging log-rotation


【解决方案1】:
  1. 在 Gemfile 中添加 gem 'multi_logger' 并运行 bundle install

  2. /config/initializers 中创建文件logger.rb 并添加以下代码

    MultiLogger.add_logger('user_operation', shift_age: 'daily', shift_period_suffix: '%Y%m%d') MultiLogger.add_logger('db_access', shift_age: 'daily', shift_period_suffix: '%Y%m%d')

  3. 现在,你可以在你的项目中写日志了

    Rails.logger.user_operation.info 'your_message'

    Rails.logger.db_access.info 'your_message'

(写入登录级别信息)

您还可以通过添加其他选项来自定义日志:logdevshift_ageshift_sizelevelprognameformatterformattershift_period_suffix

【讨论】:

  • 请在您的回答中添加此评论。