navskit
Version:
Deploy TypeScript logic on Ethereum. Includes core library, CLI tools, and utilities.
36 lines (35 loc) • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.log = void 0;
exports.createServiceLogger = createServiceLogger;
exports.createTaskLogger = createTaskLogger;
/**
* Logging utilities for NAVS
*/
const tslog_1 = require("tslog");
// Initialize root logger
exports.log = new tslog_1.Logger({
name: "NAVS",
prettyLogTemplate: "{{dateIsoStr}} {{logLevelName}} [{{name}}] ",
prettyErrorTemplate: "\n{{errorName}} {{errorMessage}}\nerror stack:\n{{errorStack}}",
prettyLogTimeZone: "local"
});
/**
* Creates a service-specific logger
*
* @param serviceName The name of the service for this logger
* @returns A logger instance for the service
*/
function createServiceLogger(serviceName, serviceVersion) {
return exports.log.getSubLogger({ name: `${serviceName}@${serviceVersion}` });
}
/**
* Creates a task-specific logger
*
* @param serviceLogger The parent service logger
* @param taskId The task ID
* @returns A logger instance for the task
*/
function createTaskLogger(serviceLogger, taskId) {
return serviceLogger.getSubLogger({ name: `Task-${taskId}` });
}