logzio-nodejs-metrics
Version:
A nodejs implementation for sending metrics to Logz.io
65 lines (58 loc) • 1.22 kB
JavaScript
const logzioLogger = require('logzio-nodejs');
class LogzioLogger {
constructor({
token,
host = 'listener.logz.io',
type = 'nodejs-metrics',
sendIntervalMs = 10 * 1000,
bufferSize = 100,
debug = false,
numberOfRetries = 3,
suppressErrors = false,
addTimestampWithNanoSecs = false,
compress = false,
internalLogger = console,
protocol = 'http',
port,
timeout,
sleepUntilNextRetry = 2 * 1000,
callback = this._defaultCallback,
extraFields = {}
}) {
this.logger = logzioLogger.createLogger({
token,
host,
type,
sendIntervalMs,
bufferSize,
debug,
numberOfRetries,
supressErrors: suppressErrors,
addTimestampWithNanoSecs,
compress,
internalLogger,
protocol,
port,
timeout,
sleepUntilNextRetry,
callback,
extraFields
});
}
sendAndClose(callback) {
this.logger.sendAndClose(callback);
}
close() {
this.logger.close();
}
send(metrics, dimensions) {
this.logger.log({
metrics,
dimensions
});
}
}
const createMetrics = options => new LogzioLogger(options);
module.exports = {
createMetrics
};