Closed emanueleliardo closed 5 years ago
Please try the followings: But this is a workaround.
var winston = require('winston');
var config = {
host: 'localhost',
port: 24224,
timeout: 3.0,
requireAckResponse: true // Add this option to wait response from Fluentd certainly
};
var fluentTransport = require('fluent-logger').support.winstonTransport();
var fluent = new fluentTransport('mytag', config);
var logger = winston.createLogger({
transports: [fluent, new (winston.transports.Console)()]
});
logger.on('flush', () => {
console.log("flush");
})
logger.on('finish', () => {
console.log("finish");
fluent.sender.end("end", {}, () => {})
});
logger.log('info', 'this log record is sent to fluent daemon');
logger.info('this log record is sent to fluent daemon');
// logger.info('end of log message', { end: true });
logger.info('end of log message');
logger.end();
NOTE: Winston 3.x has some breaking changes from Winston2.x. For example, Winston 3.x does not have logging
event.
Great! it works! Can you update documentation please? Thank you very much
It is unable to do with TypeScript. There is lack of sender in FluentTransport type.
This does not work anymore. I get next error:
fluent.sender.end("end", {}, () => {})
^
TypeError: Cannot read property 'end' of null
at DerivedLogger.<anonymous> (/home/xx/public_html/winstond/index.js:32:19)
at DerivedLogger.emit (events.js:315:20)
at finishMaybe (/home/xx/public_html/winstond/node_modules/readable-stream/lib/_stream_writable.js:624:14)
at /home/xx/public_html/winstond/node_modules/readable-stream/lib/_stream_writable.js:599:5
at wrapper (/home/xx/public_html/winstond/node_modules/winston/node_modules/async/internal/once.js:12:16)
at FluentTransport.iteratorCallback (/home/xx/public_html/winstond/node_modules/winston/node_modules/async/eachOf.js:56:13)
at FluentTransport.<anonymous> (/home/xx/public_html/winstond/node_modules/winston/node_modules/async/internal/onlyOnce.js:12:16)
at Object.onceWrapper (events.js:421:28)
at FluentTransport.emit (events.js:327:22)
at finishMaybe (/home/xx/public_html/winstond/node_modules/winston-transport/node_modules/readable-stream/lib/_stream_writable.js:630:14)
I've tried this code, but socket does not close
my deps
"dependencies": { "fluent-logger": "^3.3.1", "winston": "^3.2.1" }
what am i doing wrong?