@push.rocks/smartlog
Version:
A minimalistic, distributed, and extensible logging tool supporting centralized log management.
121 lines • 8.7 kB
JavaScript
import * as plugins from './plugins.js';
// other beautylog classes
import {} from '@push.rocks/consolecolor';
export class DestinationLocal {
constructor() {
this.previousMessage = '';
this.sameMessageCounter = 0;
this.localBl = {
silly: {
prefix: plugins.consolecolor.coloredString(' silly ', 'white', 'blue') + ' ',
textColor: 'blue',
},
debug: {
prefix: plugins.consolecolor.coloredString(' debug ', 'pink', 'black') + ' ',
textColor: 'pink',
},
error: {
prefix: plugins.consolecolor.coloredString(' ', 'red', 'red') +
plugins.consolecolor.coloredString(' ERROR! ', 'red', 'black') +
' ',
textColor: 'red',
},
info: {
prefix: plugins.consolecolor.coloredString(' ', 'blue', 'blue') +
plugins.consolecolor.coloredString(' info: ', 'blue', 'black') +
' ',
textColor: 'white',
},
note: {
prefix: plugins.consolecolor.coloredString(' ', 'pink', 'pink') +
plugins.consolecolor.coloredString(' note -> ', 'pink', 'black') +
' ',
textColor: 'pink',
},
ok: {
prefix: plugins.consolecolor.coloredString(' ', 'green', 'green') +
plugins.consolecolor.coloredString(' ok ', 'green', 'black') +
' ',
textColor: 'green',
},
success: {
prefix: plugins.consolecolor.coloredString(' ', 'green', 'green') +
plugins.consolecolor.coloredString(' SUCCESS! ', 'green', 'black') +
' ',
textColor: 'green',
},
warn: {
prefix: plugins.consolecolor.coloredString(' ', 'orange', 'orange') +
plugins.consolecolor.coloredString(' WARN -> ', 'orange', 'black') +
' ',
textColor: 'orange',
},
};
}
/**
* handles a log according to the smartlog standard
* @param logPackage
*/
async handleLog(logPackage) {
this.logToConsole(logPackage);
}
/**
* creates a new empty line
* @param linesArg
* @returns void
*/
newLine(linesArg = 1) {
for (let i = 0; i < linesArg; i++) {
console.log('\n');
}
}
/**
* logs a reduced log that only logs changes of consequential log messages
*/
logReduced(logTextArg, repeatEveryTimesArg = 0) {
if (logTextArg === this.previousMessage &&
(repeatEveryTimesArg === 0 || this.sameMessageCounter !== repeatEveryTimesArg)) {
this.sameMessageCounter++;
}
else {
this.sameMessageCounter = 0;
this.previousMessage = logTextArg;
this.logToConsole({
timestamp: Date.now(),
type: 'log',
level: 'info',
context: {
company: 'undefined',
companyunit: 'undefined',
containerName: 'undefined',
environment: 'test',
runtime: 'node',
zone: 'undefined',
},
message: logTextArg,
correlation: {
id: 'none',
type: 'none',
},
});
}
}
// default logging
logToConsole(logPackageArg) {
try {
const style = this.localBl[logPackageArg.level] ?? this.localBl.info;
const logString = style.prefix +
plugins.consolecolor.coloredString(logPackageArg.message, style.textColor);
console.log(logString);
return true;
}
catch (error) {
// typo fix: use the defined error.prefix, not a non-existent errorPrefix
console.log(this.localBl.error.prefix +
'You seem to have tried logging something strange ' +
error);
return false;
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5kZXN0aW5hdGlvbmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfZGVzdGluYXRpb25fbG9jYWwvY2xhc3Nlcy5kZXN0aW5hdGlvbmxvY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBR3hDLDBCQUEwQjtBQUMxQixPQUFPLEVBQW1CLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQW9EVSxvQkFBZSxHQUFXLEVBQUUsQ0FBQztRQUM3Qix1QkFBa0IsR0FBVyxDQUFDLENBQUM7UUF5Qi9CLFlBQU8sR0FLWDtZQUNGLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxHQUFHO2dCQUM1RSxTQUFTLEVBQUUsTUFBTTthQUNsQjtZQUNELEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxHQUFHO2dCQUM1RSxTQUFTLEVBQUUsTUFBTTthQUNsQjtZQUNELEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQ0osT0FBTyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7b0JBQ3JELE9BQU8sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO29CQUMvRCxHQUFHO2dCQUNMLFNBQVMsRUFBRSxLQUFLO2FBQ2pCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLE1BQU0sRUFDSixPQUFPLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQztvQkFDdkQsT0FBTyxDQUFD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