UNPKG

@hashgraph/hedera-local

Version:

Developer tooling for running Local Hedera Network (Consensus + Mirror Nodes).

131 lines 4.83 kB
"use strict"; // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); exports.LoggerService = void 0; const constants_1 = require("../constants"); const VerboseLevel_1 = require("../types/VerboseLevel"); /** * LoggerService is a service class that handles logging. * It implements the IService interface. * @public */ class LoggerService { /** * Creates an instance of the LoggerService. * @param {number} verboseLevel - The level of verbosity for the logger service. */ constructor(verboseLevel) { this.serviceName = LoggerService.name; this.verboseLevel = verboseLevel; this.logger = console; this.trace('Logger Service Initialized!', this.serviceName); } /** * Returns the color for the message written on the terminal * @param verboseLevel - The level of verbosity for the logger service. * @returns {string} The name of the service. * @public */ static pickVerbosityColor(verboseLevel) { switch (verboseLevel) { case VerboseLevel_1.VerboseLevel.ERROR: return constants_1.ERROR_COLOR; case VerboseLevel_1.VerboseLevel.WARNING: return constants_1.WARNING_COLOR; case VerboseLevel_1.VerboseLevel.INFO: return constants_1.INFO_COLOR; case VerboseLevel_1.VerboseLevel.DEBUG: return constants_1.DEBUG_COLOR; case VerboseLevel_1.VerboseLevel.TRACE: return constants_1.TRACE_COLOR; default: return constants_1.INFO_COLOR; } } /** * Builds the message to log. * @param msg - The message to log. * @param module - The module where the message originates. * @param verboseLevel - The level of verbosity for the logger service. * @returns {string} The message to log. * @private */ static messageCompute(msg, module, verboseLevel) { return `${constants_1.COLOR_DIM}[Hedera-Local-Node]${constants_1.COLOR_RESET}${LoggerService.pickVerbosityColor(verboseLevel)} ${VerboseLevel_1.VerboseLevel[verboseLevel]} ${constants_1.COLOR_RESET}${constants_1.COLOR_DIM}(${module})${constants_1.COLOR_RESET} ${msg}`; } /** * Logs a trace message. * @param msg - The message to log. * @param module - The module where the message originates. * @public */ trace(msg, module = '') { if (this.verboseLevel < VerboseLevel_1.VerboseLevel.TRACE) { return; } const msgToLog = LoggerService.messageCompute(msg, module, VerboseLevel_1.VerboseLevel.TRACE); this.writeToLog(msgToLog, module); } /** * Logs a debug message. * @param msg - The message to log. * @param module - The module where the message originates. * @public */ info(msg, module = '') { if (this.verboseLevel < VerboseLevel_1.VerboseLevel.INFO) { return; } const msgToLog = LoggerService.messageCompute(msg, module, VerboseLevel_1.VerboseLevel.INFO); this.writeToLog(msgToLog, module); } /** * Logs a warning message. * @param msg - The message to log. * @param module - The module where the message originates. * @public */ warn(msg, module = '') { if (this.verboseLevel < VerboseLevel_1.VerboseLevel.WARNING) { return; } const msgToLog = LoggerService.messageCompute(`${constants_1.CHECK_WARN} ${msg}`, module, VerboseLevel_1.VerboseLevel.WARNING); this.writeToLog(msgToLog, module); } /** * * @param msg - The message to log. * @param module - The module where the message originates. * @public */ error(msg, module = '') { if (this.verboseLevel < VerboseLevel_1.VerboseLevel.ERROR) { return; } const msgToLog = LoggerService.messageCompute(`${constants_1.CHECK_FAIL} ${msg}`, module, VerboseLevel_1.VerboseLevel.ERROR); this.writeToLog(msgToLog, module); } /** * * @param msg - The message to log. * @param module - The module where the message originates. * @public */ debug(msg, module = '') { if (this.verboseLevel < VerboseLevel_1.VerboseLevel.DEBUG) { return; } const msgToLog = LoggerService.messageCompute(msg, module, VerboseLevel_1.VerboseLevel.DEBUG); this.writeToLog(msgToLog, module); } /** * Writes a message to the log. * @param msg - The message to write. * @param module - The module where the message originates. */ writeToLog(msg, module) { this.logger.log(msg); } } exports.LoggerService = LoggerService; //# sourceMappingURL=LoggerService.js.map