UNPKG

@layr-labs/hourglass-performer

Version:

TypeScript SDK for building Hourglass AVS performers

42 lines 1.6 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = void 0; exports.createLogger = createLogger; // Logger utility for the Hourglass TypeScript SDK const winston_1 = __importDefault(require("winston")); /** * Create a configured winston logger */ function createLogger(config = {}) { const { debug = false, level = debug ? 'debug' : 'info', console = true, file } = config; const transports = []; // Console transport if (console) { transports.push(new winston_1.default.transports.Console({ format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.timestamp(), winston_1.default.format.printf(({ timestamp, level, message, ...meta }) => { const metaStr = Object.keys(meta).length > 0 ? ` ${JSON.stringify(meta)}` : ''; return `${timestamp} [${level}]: ${message}${metaStr}`; })), })); } // File transport if (file) { transports.push(new winston_1.default.transports.File({ filename: file, format: winston_1.default.format.combine(winston_1.default.format.timestamp(), winston_1.default.format.json()), })); } return winston_1.default.createLogger({ level, transports, exitOnError: false, }); } /** * Default logger instance */ exports.logger = createLogger(); //# sourceMappingURL=logger.js.map