Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
ClientConsoleLogger.prototype.write = function (data = {}) {
const loggerName = data.component ? `${data.name}/${data.component}` : data.name;
let levelCss;
const defaultCss = 'color: DimGray';
const msgCss = 'color: SteelBlue';
if (data.level < bunyan.DEBUG) {
levelCss = 'color: DeepPink';
} else if (data.level < bunyan.INFO) {
levelCss = 'color: GoldenRod';
} else if (data.level < bunyan.WARN) {
levelCss = 'color: DarkTurquoise';
} else if (data.level < bunyan.ERROR) {
levelCss = 'color: Purple';
} else if (data.level < bunyan.FATAL) {
levelCss = 'color: Crimson';
} else {
levelCss = 'color: Black';
}
console.log( // eslint-disable-line no-console
'[%s] %c%s%c: %s: %c%s',
data.time,
levelCss, bunyan.nameFromLevel[data.level],
defaultCss, loggerName,
msgCss, data.msg
);
if (data.err && data.err.stack) {
expect(outputCapture.get().level).to.equal(bunyan.DEBUG);
reset();
rosnodejs.log.info(message);
expect(outputCapture.get().msg).to.have.string(message);
expect(outputCapture.get().level).to.equal(bunyan.INFO);
reset();
rosnodejs.log.warn(message);
expect(outputCapture.get().msg).to.have.string(message);
expect(outputCapture.get().level).to.equal(bunyan.WARN);
reset();
rosnodejs.log.error(message);
expect(outputCapture.get().msg).to.have.string(message);
expect(outputCapture.get().level).to.equal(bunyan.ERROR);
reset();
rosnodejs.log.fatal(message);
expect(outputCapture.get().msg).to.have.string(message);
expect(outputCapture.get().level).to.equal(bunyan.FATAL);
reset();
rosnodejs.log.traceThrottle(1, message);
expect(outputCapture.get().msg).to.have.string(message);
expect(outputCapture.get().level).to.equal(bunyan.TRACE);
reset();
rosnodejs.log.debugThrottle(1, message);
expect(outputCapture.get().msg).to.have.string(message);
expect(outputCapture.get().level).to.equal(bunyan.DEBUG);
PlainStream.prototype.write = rec => {
const message = rec.msg
if (rec.level < bunyan.INFO) {
console.log(message)
} else if (rec.level < bunyan.WARN) {
console.info(message)
} else if (rec.level < bunyan.ERROR) {
console.warn(message)
} else {
if (rec.err && rec.err.stack) {
console.error(rec.err.stack)
} else {
console.log(chalk.red(message))
}
}
}
write (record) {
if (record.level >= bunyan.ERROR) {
global.OPBEAT_CLIENT.setExtraContext(_.assign({
level: OpbeatStream.levels[record.level],
}, _.omit(record, [ 'err', 'level', 'name', 'req', 'v' ])));
global.OPBEAT_CLIENT.captureError(record.err);
} else {
global.OPBEAT_CLIENT.setExtraContext(_.assign({
level: OpbeatStream.levels[record.level],
}, _.omit(record, [ 'level', 'name', 'v' ])));
}
}
}
protected toBunyanLevel(logLevel: number): number {
switch (logLevel) {
case LogLevel.FATAL:
return bunyan.FATAL;
case LogLevel.ERROR:
return bunyan.ERROR;
case LogLevel.WARN:
return bunyan.WARN;
case LogLevel.INFO:
return bunyan.INFO;
case LogLevel.DEBUG:
return bunyan.DEBUG;
case LogLevel.TRACE:
return bunyan.TRACE;
default:
return bunyan.INFO;
}
}
BunyanPrettyPrinter.prototype._transform = function (chunk, _, callback)
{
var component = chunk.component || chunk.name;
var message = chunk.msg;
var stream = this;
var level;
switch (chunk.level) {
case mod_bunyan.TRACE: level = 'TRACE'; break;
case mod_bunyan.DEBUG: level = 'DEBUG'; break;
case mod_bunyan.INFO: level = 'INFO'; break;
case mod_bunyan.WARN: level = 'WARN'; break;
case mod_bunyan.ERROR: level = 'ERROR'; break;
case mod_bunyan.FATAL: level = 'FATAL'; break;
default: level = '?????'; break;
}
this.push(sprintf('[%5s] %s: %s\n', level, component, message));
mod_jsprim.forEachKey(chunk, function (key, value) {
if (bunyanStdKeys.hasOwnProperty(key))
return;
stream.push(sprintf(' %10s: %j\n', key, value));
});
callback();
};
private static levelSerialiser(level) {
switch (level) {
case bunyan.TRACE:
return 'TRACE';
case bunyan.DEBUG:
return 'DEBUG';
case bunyan.INFO:
return 'INFO';
case bunyan.WARN:
return 'WARN';
case bunyan.ERROR:
return 'ERROR';
case bunyan.FATAL:
return 'FATAL';
default:
return 'N/A';
}
}
color: levelName === 'error' ? '#c42939' : '#36a64f',
author_name: 'bunyan',
title: 'Error fields',
fields: Object.keys(record).map((field) => {
return {
title : field,
value : field === 'err' ? record.err.stack : record[field],
short : field !== 'err',
};
}),
}],
};
},
});
options.streams.push({
level : bunyan.ERROR,
stream : slackLogger,
});
}
}
else {
options.src = true;
options.streams = [{
level : bunyan.DEBUG,
type : 'rotating-file',
path : './logs/ml-for-kids.log',
period : '1d',
count : 2,
}];
}
logger = bunyan.createLogger(options);