fluent / fluent-logger-node

A structured logger for Fluentd (Node.js)
Apache License 2.0
259 stars 83 forks source link

Error event not thrown when integrated with winston #134

Closed sphansekar-cci closed 5 years ago

sphansekar-cci commented 5 years ago

I don't have fluentd running on port 3588 and I was expecting library to throw an error Tried without winston transport and it gave error ECONNREFUSED.

Below is the code which I had tried.

var winston = require('winston');
var config = {
  host: 'localhost',
  port: 3588,
  timeout: 3.0,
  requireAckResponse: true // Add this option to wait response from Fluentd certainly
};
var fluentTransport = require('fluent-logger').support.winstonTransport();

var logger = winston.createLogger({
    transports: [new fluentTransport('mytag', config), new (winston.transports.Console)()]
});

logger.on('error', (error) => {
  console.log(error)
});

setInterval(() => {
    logger.info('this log record is sent to fluent daemon');
}, 5000)
okkez commented 5 years ago

Please try following:

var winston = require('winston');
var config = {
  host: 'localhost',
  port: 3588,
  timeout: 3.0,
  requireAckResponse: true // Add this option to wait response from Fluentd certainly
};
var fluentTransport = require('fluent-logger').support.winstonTransport();
var transport = new fluentTransport('mytag', config);
transport.sender.on('error', (err) => { console.log(err) });

var logger = winston.createLogger({
  transports: [transport, new (winston.transports.Console)()]
});

logger.on('error', (error) => {
  console.log(error)
});

setInterval(() => {
  logger.info('this log record is sent to fluent daemon');
}, 1000)
sphansekar-cci commented 5 years ago

It worked. Thanks for your help. I am closing the issue.