首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails 3.0中使用rsyslogd

在Rails 3.0中使用rsyslogd
EN

Stack Overflow用户
提问于 2012-05-29 15:10:58
回答 1查看 2.5K关注 0票数 7

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

我想要更改这一点,以便所有日志记录都通过rsyslog并放在:

代码语言:javascript
复制
/var/log/rails/site1.log
/var/log/rails/site2.log
etc.

还可以让这些日志每天自动轮换。

这是怎么做的?

/ Carsten

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-30 01:26:28

在过去,我曾使用syslog-logger gem来实现这一点。

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

代码语言:javascript
复制
config.logger = Logger::Syslog.new("site1", Syslog::LOG_LOCAL5)

在最近的ruby版本中,标准库中也有syslog/logger -用法基本相同。

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

最简单的事情可能是这样的

代码语言:javascript
复制
!site1 /var/log/site1.log

它使用程序名"site1“(Logger::Syslog的第一个参数)指示所有内容。

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

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

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10794602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档