【问题标题】: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
...
我找到了一个简单的解决方案。
【问题讨论】:
标签:
ruby-on-rails
logging
log-rotation
【解决方案1】:
在 Gemfile 中添加 gem 'multi_logger' 并运行 bundle install。
-
在/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')
-
现在,你可以在你的项目中写日志了
Rails.logger.user_operation.info 'your_message'
Rails.logger.db_access.info 'your_message'
(写入登录级别信息)
您还可以通过添加其他选项来自定义日志:logdev、shift_age、shift_size、level、progname、formatter、formatter、shift_period_suffix