Các tài liệu Winston có một phần trên streaming logs mà nói:Dòng nhật ký của Winston hoạt động như thế nào?
streaming cho phép bạn truyền các bản ghi của bạn trở lại từ chọn vận chuyển của bạn.
và đưa ra ví dụ mã sau:
//
// Start at the end.
//
winston.stream({ start: -1 }).on('log', function(log) {
console.log(log);
});
đọc My của việc này là mỗi tin nhắn đăng nhập mới được thêm vào sẽ là đầu ra cửa sổ Console. Cấu hình {start: -1}
yêu cầu luồng bắt đầu ở cuối tệp, vì vậy chỉ các mục nhập nhật ký mới là đầu ra. Tôi hy vọng đoạn mã Node sau sẽ dẫn đến mỗi dòng hiện có của tệp test.log
là đầu ra cho bảng điều khiển và sau đó một đối tượng mới sẽ xuất sau mỗi 500ms sau đó.
var winston = require('winston');
winston.add(winston.transports.File, {
filename: 'test.log'
});
winston.remove(winston.transports.Console);
winston.stream().on('log', function(log) {
console.log(log);
});
setInterval(function(){
winston.log('info', 'help');
}, 500);
tôi sẽ mong đợi để xem một cái gì đó giống như đầu ra sau đây:
{"level":"info","message":"help","timestamp":"2013-12-10T05:55:15.806Z"}
{"level":"info","message":"help","timestamp":"2013-12-10T05:55:16.307Z"}
{"level":"info","message":"help","timestamp":"2013-12-10T05:55:16.809Z"}
{"level":"info","message":"help","timestamp":"2013-12-10T05:55:17.309Z"}
{"level":"info","message":"help","timestamp":"2013-12-10T05:56:48.316Z"}
gì thực sự xảy ra là khai thác gỗ làm việc như mong đợi với việc vận chuyển File (tập tin được một bản ghi mới mỗi 500ms) nhưng không có đầu ra cho bàn điều khiển. Đường dây console.log(log)
không bao giờ được gọi.
Tôi đã bỏ lỡ điều gì đó hiển nhiên hoặc hiểu nhầm mục đích của luồng nhật ký của Winston?
có thể họ sử dụng sự kiện '' dữ liệu'' thông thường? – bevacqua
Tôi đã gặp vấn đề tương tự, và tôi nghi ngờ nó không hoạt động với File hoặc Console vận chuyển vì đây là hai cái tôi đã thử và cuộc gọi lại không bao giờ được gọi. @Nico, Mã này trực tiếp từ README của winston và trong mã: .phát ra ('log', log); Vấn đề là, không có gì tôi đã thử dường như để làm cho công việc này: ( –
Cảm ơn bạn đã xác nhận sự nghi ngờ của tôi @RobinDuckett.Tôi muốn tập tin này như là một lỗi, nhưng Winston trông nhiều hơn hoặc ít hơn chết: https: // github. com/flatiron/winston/issues/294 Có thể cần phải ngã ba – drzax