winston-logzio
Advanced tools
Comparing version 4.0.2 to 5.0.0
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(); | ||
}); | ||
}); | ||
}); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
10271
8
237
51
6
+ Addedtriple-beam@^1.3.0