UNPKG

@slickteam/nestjs-utils

Version:
80 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoggerParams = LoggerParams; exports.throwErrorAndLog = throwErrorAndLog; exports.throwErrorAndLogWithContext = throwErrorAndLogWithContext; exports.logLevel = logLevel; const common_1 = require("@nestjs/common"); function LoggerParams(level = 'verbose') { return (target, propertyKey, descriptor) => { const original = descriptor.value; descriptor.value = function (...args) { let message = `${propertyKey}(`; for (let i = 0; i < args.length; i++) { const arg = args[i]; if (Array.isArray(arg)) { message += `[${i}]=${arg.length}`; } else { message += `[${i}]=${String(arg)}`; } if (i < args.length - 1) { message += ','; } } message += ')'; const className = target.constructor.name; switch (level) { case 'verbose': common_1.Logger.verbose(message, className); break; case 'debug': common_1.Logger.debug(message, className); break; case 'log': common_1.Logger.log(message, className); break; case 'warn': common_1.Logger.warn(message, className); break; default: common_1.Logger.error(message, className); break; } const value = original.apply(this, args); return value; }; }; } function throwErrorAndLog(message, typeError = common_1.HttpStatus.INTERNAL_SERVER_ERROR, logger) { const error = new common_1.HttpException(message, typeError); if (logger) { logger?.error(message); } else { common_1.Logger.error(message); } throw error; } function throwErrorAndLogWithContext(message, typeError = common_1.HttpStatus.INTERNAL_SERVER_ERROR, context) { const error = new common_1.HttpException(message, typeError); common_1.Logger.error(message, context); throw error; } function logLevel(level) { const levelTab = []; switch (level) { case 'verbose': levelTab.push('verbose'); case 'debug': levelTab.push('debug'); case 'log': levelTab.push('log'); case 'warn': levelTab.push('warn'); default: levelTab.push('error'); } return levelTab; } //# sourceMappingURL=index.js.map