Trong quá khứ tôi đã sử dụng syslog-logger
đá quý cho điều này
Bạn có thể thiết lập này lên trong một initializer:
config.logger = Logger::Syslog.new("site1", Syslog::LOG_LOCAL5)
Trong các phiên bản ruby gần đây, cũng có syslog/logger
trong thư viện chuẩn - sử dụng khá giống nhau.
Để bắt đầu đăng nhập vào syslog thay vì tệp văn bản mặc định. Chuyện gì xảy ra tiếp theo là một điều cấu hình syslog - bạn cần phải tạo các quy tắc rsyslog xác định nơi dữ liệu của bạn đi
Điều đơn giản nhất có thể sẽ là một cái gì đó giống như
!site1 /var/log/site1.log
Mà chỉ đạo tất cả mọi thứ với tên chương trình "site1" (đối số đầu tiên cho Logger :: Syslog).
Có nhiều thứ bạn có thể làm, ví dụ bạn có thể chuyển tiếp thông điệp tường trình tới máy chủ ghi nhật ký tập trung tất cả vào một tệp để bạn không có một tệp nhật ký cho từng phiên bản ứng dụng của mình .
Để xoay vòng, tôi sử dụng logrotate - Tôi tin rằng rsyslog thực sự có thể xử lý các loại nội dung đó nhưng tôi không biết chi tiết.
Nguồn
2012-05-29 17:26:28
Rất tiếc vì tôi chưa nhận xét về điều này - chưa từng thấy, rằng đã có câu trả lời. Tôi sẽ thử điều này trong tuần tới - cảm ơn! –
Syslog :: LOG_LOCAL5 - không có lỗi đánh máy ở đây? –
Chỉ thiếu một đóng). Khác với điều đó xuất phát trực tiếp từ tệp cấu hình của ứng dụng sản xuất. –