Created
February 23, 2019 19:39
-
-
Save trasa/f4c93846d077a740387a630f01a1d4e8 to your computer and use it in GitHub Desktop.
Example of trying to use winston and winston-es, demonstrating problems in a console app which terminates. see https://github.com/vanthome/winston-elasticsearch/issues/17
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const winston = require('winston'); // 3.1.0 | |
const winston_es = require('winston-elasticsearch'); // 0.7.7 | |
const util = require('./lib/util.js'); | |
var logger; | |
var transport; | |
// see https://github.com/vanthome/winston-elasticsearch/issues/17#issuecomment-463717315 | |
winston_es.prototype.close = async function () { | |
console.log("closing winston_es"); | |
await this.bulkWriter.flush(); | |
this.bulkWriter.stop(); | |
}; | |
function setupLogging() { | |
console.log("setup logging"); | |
const transportOps = { | |
'clientOpts': { | |
'host': 'http://localhost:9200' | |
} | |
}; | |
transport = new winston_es(transportOps); | |
logger = winston.createLogger({ | |
transports: [ | |
new winston.transports.Console({ | |
format: winston.format.simple() | |
}), | |
transport | |
] | |
}); | |
logger.on('finish', () => { | |
console.log("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX logger finished"); | |
}); | |
} | |
function doWork() { | |
console.log("begin doing work!"); | |
for (let i = 0; i < 100; i++) { | |
logger.info("writing data " + i); | |
} | |
console.log("work done!"); | |
} | |
function main() { | |
setupLogging(); | |
doWork(); | |
logger.close(); | |
} | |
main(); | |
/* Result: | |
$ node winstondemo.js | |
setup logging | |
begin doing work! | |
info: writing data 0 | |
info: writing data 1 | |
info: writing data 2 | |
info: writing data 3 | |
info: writing data 4 | |
info: writing data 5 | |
info: writing data 6 | |
info: writing data 7 | |
info: writing data 8 | |
info: writing data 9 | |
info: writing data 10 | |
info: writing data 11 | |
info: writing data 12 | |
info: writing data 13 | |
info: writing data 14 | |
info: writing data 15 | |
work done! | |
closing winston_es | |
[winston] Attempt to write logs with no transports {"message":"writing data 32","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 33","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 34","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 35","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 36","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 37","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 38","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 39","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 40","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 41","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 42","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 43","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 44","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 45","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 46","level":"info"} | |
[winston] Attempt to write logs with no transports {"message":"writing data 47","level":"info"} | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment