Ruby on Rails 中的多个日志文件和日志轮换
Posted
技术标签:
【中文标题】Ruby on Rails 中的多个日志文件和日志轮换【英文标题】:Multiple log file and log rotation in Ruby 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编辑器。 【参考方案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
【讨论】:
请在您的回答中添加此评论。以上是关于Ruby on Rails 中的多个日志文件和日志轮换的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ruby on Rails 3.1 中禁用资产管道(链轮)消息的日志记录?
Heroku 环境中的 Ruby on Rails 应用程序:“使用 Mailgun 发送电子邮件”错误
如何在 ruby on rails 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby?