Skip to content

Instantly share code, notes, and snippets.

@matheusopedro
Created February 28, 2019 16:59
Show Gist options
  • Save matheusopedro/99dc3a850ce6d20d6baddce7674f9db9 to your computer and use it in GitHub Desktop.
Save matheusopedro/99dc3a850ce6d20d6baddce7674f9db9 to your computer and use it in GitHub Desktop.
Implementação do log estruturado
'use strict';
const SimpleNodeLogger = require('simple-node-logger');
const loggerConstants = require('./logger.constants');
const opts = {
timestampFormat: loggerConstants.emptyFormat,
level: loggerConstants.logLevel
};
const AbstractAppender = SimpleNodeLogger.AbstractAppender,
manager = new SimpleNodeLogger(opts);
const JSONAppender = function (options = {}) {
const appender = this, opts = {
typeName: 'JSONAppender'
};
AbstractAppender.extend(this, opts);
this.write = function (entry) {
var fields = appender.formatEntry(entry);
fields[1] = entry.level;
process.stdout.write(JSON.stringify({
level: fields[1],
message: fields[2],
timestamp: new Date().toJSON()
}) + '\n');
};
};
manager.addAppender(new JSONAppender());
const log = manager.createLogger();
module.exports = log;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment