@naturacosmeticos/clio-nodejs-logger
Version:
[](https://snyk.io/test/github/natura-cosmeticos/clio-nodejs-logger?targetFile=package.json) [ • 820 B
JavaScript
const os = require('os');
const AsyncHooksStorage = require('@naturacosmeticos/async-hooks-storage');
module.exports = class Serializer {
constructor(contextData, namespace, logLimit) {
this.contextData = contextData;
this.namespace = namespace;
this.logLimit = logLimit;
}
serialize(message, additionalArguments, level) {
const timestamp = new Date().toISOString();
const event = this.event(message, additionalArguments, level, timestamp);
return event;
}
/**
* @private
*/
event(message, additionalArguments, level, timestamp) {
return {
...AsyncHooksStorage.getEntry('logArguments'),
...additionalArguments,
...this.contextData,
level,
message,
namespace: this.namespace,
timestamp,
uptime: os.uptime(),
};
}
};