Socket
Socket
Sign inDemoInstall

winston-logzio

Package Overview
Dependencies
Maintainers
3
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

winston-logzio - npm Package Compare versions

Comparing version 4.0.2 to 5.0.0

.vscode/launch.json

32

lib/winston-logzio.js
const Transport = require('winston-transport');
const stringifySafe = require('json-stringify-safe');
const logzioNodejs = require('logzio-nodejs');
const {
LEVEL,
MESSAGE,
} = require('triple-beam');

@@ -18,26 +22,20 @@ module.exports = class LogzioWinstonTransport extends Transport {

let msg = info.message;
if (typeof info.message !== 'string' && typeof info.message !== 'object') {
const infoMessage = info.message || info[MESSAGE];
let msg;
if (typeof infoMessage !== 'string' && typeof infoMessage !== 'object') {
msg = {
message: this.safeToString(info.message),
message: this.safeToString(infoMessage),
};
} else if (typeof info.message === 'string') {
} else if (typeof infoMessage === 'string') {
msg = {
message: info.message,
message: infoMessage,
};
}
const splat = info[Symbol.for('splat')];
let meta = splat && splat[0];
if (meta instanceof Error) {
meta = {
error: meta.stack || meta.toString(),
};
}
const logObject = Object.assign({},
info,
msg, {
level: info[LEVEL] || this.level,
});
const logObject = Object.assign({}, info, msg, {
level: info.level || this.level,
meta,
});
this.logzioLogger.log(logObject);

@@ -44,0 +42,0 @@ callback(null, true);

{
"name": "winston-logzio",
"description": "A winston transport wrapper for logzio",
"version": "4.0.2",
"version": "5.0.0",
"author": "Gilly Barr <gilly@logz.io>",
"contributors": [{
"contributors": [
{
"name": "Gilly Barr",

@@ -36,2 +37,3 @@ "email": "gillyb@gmail.com"

"logzio-nodejs": "^1.0.3",
"triple-beam": "^1.3.0",
"winston": "^3.1.0",

@@ -56,2 +58,2 @@ "winston-transport": "^4.2.0"

}
}
}

@@ -27,6 +27,7 @@ ![Build Status](https://travis-ci.org/logzio/winston-logzio.svg?branch=master)

const logger = winston.createLogger({
transports: [logzioWinstonTransport]
format: format.simple(),
transports: [logzioWinstonTransport],
});
logger.log('warn', 'Just a test message', new Error('Big problem'));
logger.log('warn', 'Just a test message');
```

@@ -33,0 +34,0 @@

@@ -7,4 +7,10 @@ const sinon = require('sinon');

const {
MESSAGE,
} = require('triple-beam');
const {
createLogger,
format,
} = winston;
const LogzioWinstonTransport = require('../lib/winston-logzio');

@@ -28,4 +34,4 @@

describe('send string as log message', () => {
it('builds the log object properly', (done) => {
describe('send error as log message', () => {
it('builds the log object properly with error', (done) => {
const logzioWinstonTransport = new LogzioWinstonTransport({

@@ -37,17 +43,19 @@ level: 'info',

const logger = createLogger({
format: format.combine(
format.errors({
stack: true,
}),
),
transports: [logzioWinstonTransport],
});
const logMessage = 'Just a test message';
const errorMessage = 'Big problem';
const error = new Error(errorMessage);
logger.log('warn', logMessage, error);
logger.log('error', error);
assert(logSpy.calledOnce);
const loggedObject = logSpy.args[0][0];
assert(loggedObject.message === logMessage);
assert(loggedObject.level === 'warn');
assert(typeof loggedObject.meta === 'object');
assert(typeof loggedObject.meta.error === 'string');
assert(loggedObject.meta.error.indexOf(errorMessage) >= 0);
assert(loggedObject.level === 'error');
assert(loggedObject.message === errorMessage);
assert(typeof loggedObject.stack === 'string');

@@ -58,4 +66,4 @@ done();

describe('send json as log message', () => {
it('builds the log object as json properly', (done) => {
describe('send a formated string as log message', () => {
it('builds the log object using splat string', (done) => {
const logzioWinstonTransport = new LogzioWinstonTransport({

@@ -67,23 +75,23 @@ level: 'info',

const logger = createLogger({
format: format.combine(
format.splat(),
format.simple(),
),
transports: [logzioWinstonTransport],
});
const logMessage = {
message: 'Just a test message',
string_value: 'value',
integar_value: 100,
};
const errorMessage = 'Big problem';
const error = new Error(errorMessage);
logger.log('warn', logMessage, error);
const logMessage = 'Just a test message';
const stringValue = 'value';
const integerValue = 100;
const testMessage = 'logzio';
logger.log('info', 'Just a test message - %s %d', stringValue, integerValue, {
test: testMessage,
});
assert(logSpy.calledOnce);
const loggedObject = logSpy.args[0][0];
assert(loggedObject.message === logMessage.message);
assert(loggedObject.string_value === logMessage.string_value);
assert(loggedObject.integer_value === logMessage.integer_value);
assert(loggedObject.level === 'warn');
assert(typeof loggedObject.meta === 'object');
assert(typeof loggedObject.meta.error === 'string');
assert(loggedObject.meta.error.indexOf(errorMessage) >= 0);
assert(loggedObject.message === `${logMessage} - ${stringValue} ${integerValue}`);
assert(loggedObject.level === 'info');
assert(loggedObject.test === testMessage);

@@ -94,4 +102,4 @@ done();

describe('send json as log message without error', () => {
it('builds the log object with just a message object', (done) => {
describe('send json as log message - no message field', () => {
it('builds the log object using json formater without message field', (done) => {
const logzioWinstonTransport = new LogzioWinstonTransport({

@@ -103,11 +111,12 @@ level: 'info',

const logger = createLogger({
format: format.json(),
transports: [logzioWinstonTransport],
});
const logMessage = {
message: 'Just a test message',
string_value: 'value',
integar_value: 100,
};
logger.log('warn', logMessage);
const logMessage = 'Just a test message';
const testMessage = 'logzio';
logger.log('info', {
msg: logMessage,
test: testMessage,
});

@@ -117,9 +126,40 @@ assert(logSpy.calledOnce);

assert(loggedObject.message === logMessage.message);
assert(loggedObject.string_value === logMessage.string_value);
assert(loggedObject.integer_value === logMessage.integer_value);
assert(loggedObject.level === 'warn');
assert(loggedObject.msg === logMessage);
assert(loggedObject.test === testMessage);
assert(loggedObject.level === 'info');
assert(loggedObject[MESSAGE] === loggedObject.message);
done();
});
});
describe('send json as log message', () => {
it('build the log object using json formater', (done) => {
const logzioWinstonTransport = new LogzioWinstonTransport({
level: 'info',
name: 'logger1',
token: '_API_TOKEN_',
});
const logger = createLogger({
format: format.json(),
transports: [logzioWinstonTransport],
});
const logMessage = 'Just a test message';
const testMessage = 'logzio';
logger.log('info', {
message: logMessage,
test: testMessage,
});
assert(logSpy.calledOnce);
const loggedObject = logSpy.args[0][0];
assert(loggedObject.message === logMessage);
assert(loggedObject.test === testMessage);
assert(loggedObject.level === 'info');
done();
});
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc