NodeJS logger for LogzIO. The logger stashes the log messages you send into an array which is sent as a bulk once it reaches its size limit (100 messages) or time limit (10 sec) in an async fashion. It contains a simple retry mechanism which upon connection reset (server side) or client timeout, wait a bit (default interval of 2 seconds), and try this bulk again (it does not block other messages from being accumulated and sent (async). The interval increases by a factor of 2 between each retry, until we reached the maximum allowed attempts (3).
By default any error is logged to the console. This can be changed by supplying a callback function.
var logger = require('logzio-nodejs').createLogger({
token: '__YOUR_API_TOKEN__',
type: 'YourLogType' // OPTIONAL (If none is set, it will be 'nodejs')
});
// sending text
logger.log('This is a log message');
// sending an object
var obj = {
message: 'Some log message',
param1: 'val1',
param2: 'val2'
};
logger.log(obj);
- token Mandatory. Your API logging token. Look it up in the Device Config tab in Logz.io
- type - Log type. Help classify logs into different classifications
- protocol - 'http' or 'https'. Default: http
- sendIntervalMs - Time in milliseconds to wait between retry attempts. Default: 2000 (2 sec)
- bufferSize - The maximum number of messages the logger will accumulate before sending them all as a bulk. Default: 100.
- numberOfRetries - The maximum number of retry attempts. Default: 3
- debug - Should the logger print debug messages to the console? Default: false
- callback - a callback function called when an unrecoverable error has occured in the logger. The function API is: function(err) - err being the Error object.
- timeout - the read/write/connection timeout in milliseconds.
0.3.6
- Fixed URL for github repository in package.json
0.3.5
- Bug fix : upon retry (in case of network error), the message gets sent forever
0.3.4
- Bug fix :
jsonToString()
was throwing an error in the catch()block
0.3.2
- Enhancement : Added option to attach extra fields to each log in a specific instance of the logger.
0.3.1
- Bug fix : When calling
log
with a string parameter, the object isn't constructed properly.
- run
npm install
to install required dependencies - run
npm test
to run unit tests