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'

(写入登录级别信息) 您还可以通过添加其他选项来自定义日志:logdevshift_ageshift_sizelevelprognameformatterformattershift_period_suffix

【讨论】:

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

以上是关于Ruby on Rails 中的多个日志文件和日志轮换的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails 生产日志轮换

如何在 Ruby on Rails 3.1 中禁用资产管道(链轮)消息的日志记录?

Cpanel 中的 Ruby On Rails 问题

Heroku 环境中的 Ruby on Rails 应用程序:“使用 Mailgun 发送电子邮件”错误

Ruby on Rails 中的多个用户角色

如何在 ruby​​ on rails 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby​​?