2013-03-05 35 views
17

Tôi đang sử dụng forever để chạy ứng dụng nút của mình. Khi tôi bắt đầu mãi mãi, tôi chỉ định nơi để viết nhật ký. Tôi cũng chỉ định thêm vào nhật ký. Vấn đề ở đây là nhật ký của tôi sẽ mất kiểm soát trong suốt hàng tháng.NodeJS/Nhật ký lưu trữ mãi mãi

Có cách nào để lưu trữ/cuộn nhật ký trên một khoảng thời gian hay không, tức là mỗi ngày cuộn/lưu trữ nội dung trong tệp nhật ký vào một tệp khác (tức là máy chủ-2013-3-5.log). Bằng cách đó, tôi có thể xóa/di chuyển các tệp nhật ký cũ nếu cần.

Tôi vừa mới bắt đầu xem xét việc sử dụng Winston cho trình ghi nhật ký của mình và tôi đã không gặp phải bất kỳ thứ gì có thể hữu ích.

Bất kỳ ý tưởng nào?

+0

Bạn đã giải quyết nó như thế nào? – JustGoscha

Trả lời

34

bản thân mãi mãi không hỗ trợ xoay vòng nhật ký và xoay vòng nhật ký vẫn là pending feature request cho Winston.

Bạn có thể sử dụng logrotate được bao gồm trong hầu hết các bản phân phối Linux và được sử dụng để xoay tệp nhật ký hệ thống, cũng như được sử dụng bởi các phần mềm khác như Apache.

Thêm một tập tin vào /etc/logrotate.d/

/path/to/server.log { 
    daily   # how often to rotate 
    rotate 10  # max num of log files to keep 
    missingok  # don't panic if the log file doesn't exist 
    notifempty # ignore empty files 
    compress  # compress rotated log file with gzip 
    sharedscripts # postrotate script (if any) will be run only once at the end, not once for each rotated log 
    copytruncate # needed for forever to work properly 
    dateext  # adds date to filename 
    dateformat %Y-%m-%d. 
} 

Xem more logrotate examples.

+2

Xoay vòng nhật ký hiện có thể với Winston: https://github.com/flatiron/winston/pull/205 – JCM

+2

'sharedscripts':" Tệp được chia sẻ có nghĩa là tập lệnh postrotate sẽ chỉ được chạy một lần (sau khi nhật ký cũ đã được nén), không một lần cho mỗi nhật ký được xoay. " [man logrotate] (http://linuxcommand.org/man_pages/logrotate8.html) –

+0

@JCM Làm thế nào để cấu hình mãi mãi để sử dụng tính năng mới này trong Winston, mặc dù? Tôi có phải chuyển từ sử dụng dòng lệnh sang sử dụng có lập trình mãi mãi không? – sheldonh

Các vấn đề liên quan