gpt4 book ai didi

ruby-on-rails - 在 Rails 3.0 中使用 rsyslogd

转载 作者:行者123 更新时间:2023-12-02 04:02:48 25 4
gpt4 key购买 nike

我正在 Debian 服务器上运行几个 Rails 3.0 站点。目前,所有日志都会进入 RAILS_ROOT/log/Production.log(每个站点的 RAILS_ROOT)

我想更改此设置,以便所有日志记录都通过 rsyslog 并放置在:

/var/log/rails/site1.log
/var/log/rails/site2.log
etc.

并且还要让这些日志每天自动轮换。

这是如何完成的?

/卡斯滕

最佳答案

过去我为此使用了syslog-logger gem

您可以在初始化程序中进行设置:

config.logger = Logger::Syslog.new("site1", Syslog::LOG_LOCAL5)

在最近的 ruby​​ 版本中,标准库中还有 syslog/logger - 用法几乎相同。

开始记录到系统日志而不是默认的文本文件。接下来发生的是系统日志配置 - 您需要创建 rsyslog 规则来定义数据的去向

最简单的可能是这样的

!site1 /var/log/site1.log

它 Bootstrap 名称“site1”(Logger::Syslog 的第一个参数)的所有内容。

您还可以做更多的事情,例如,您可以将日志消息转发到中央日志记录服务器,该服务器将它们全部聚合到一个文件中,这样您就不必为每个应用程序实例查看一个日志文件。

对于日志轮换,我使用 logrotate - 我相信 rsyslog 实际上可以在内部处理此类内容,但我不知道细节。

关于ruby-on-rails - 在 Rails 3.0 中使用 rsyslogd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10794602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com