summaryrefslogtreecommitdiff
path: root/lib/logger.js
diff options
context:
space:
mode:
authorSheogorath2018-11-16 11:42:52 +0100
committerSheogorath2018-11-16 11:49:39 +0100
commitbdeb05339764d1db64f45c56860d33929b6776e9 (patch)
tree859acc8024d08bc7c63c7f2a2d22f3109038700a /lib/logger.js
parentf1367ba2702100a420477151d90e6a0b1999ffb3 (diff)
Fix streaming for winston
During the upgrade of winston in c3584770f24205d84b9399abd9535cb27dc7b00c a the class extension for streaming was removed. This caused silent crashes. Somehow winston simply called `process.exit(1)` whenever `logger.write()` was called. This is really bad and only easy to debug because of the testing right after upgrading. However, reimplementing the stream interface as it was, didn't work, due to the fact that `logger.write()` is already implemented and causes the mentioned problem. So we extent the object with an `stream` object that implements `write()` for streams and pass that to morgan. So this patch fixes unexpected exiting for streaming towards our logging module. References: https://www.digitalocean.com/community/tutorials/how-to-use-winston-to-log-node-js-applications https://github.com/hackmdio/codimd/commit/c3584770f24205d84b9399abd9535cb27dc7b00c https://stackoverflow.com/a/28824464 Signed-off-by: Sheogorath <sheogorath@shivering-isles.com>
Diffstat (limited to 'lib/logger.js')
-rw-r--r--lib/logger.js10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/logger.js b/lib/logger.js
index c70b81b8..5ef1860a 100644
--- a/lib/logger.js
+++ b/lib/logger.js
@@ -1,7 +1,7 @@
'use strict'
const {createLogger, format, transports} = require('winston')
-module.exports = createLogger({
+const logger = createLogger({
level: 'debug',
format: format.combine(
format.uncolorize(),
@@ -17,3 +17,11 @@ module.exports = createLogger({
],
exitOnError: false
})
+
+logger.stream = {
+ write: function (message, encoding) {
+ logger.info(message)
+ }
+}
+
+module.exports = logger