UNPKG

trainingpeaks-sdk

Version:
45 lines (44 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createLogger = void 0; const createLogger = (config) => { const logLevels = { debug: 0, info: 1, warn: 2, error: 3, }; const currentLevel = logLevels[config.level]; const shouldLog = (level) => { return config.enabled && logLevels[level] >= currentLevel; }; const formatMessage = (level, message) => { const timestamp = new Date().toISOString(); const prefix = config.prefix ? `[${config.prefix}]` : '[TrainingPeaks SDK]'; const messageText = message instanceof Error ? message.message : message; return `${timestamp} ${prefix} [${level.toUpperCase()}] ${messageText}`; }; return { debug: (message, ...args) => { if (shouldLog('debug')) { console.debug(formatMessage('debug', message), ...args); } }, info: (message, ...args) => { if (shouldLog('info')) { console.info(formatMessage('info', message), ...args); } }, warn: (message, ...args) => { if (shouldLog('warn')) { console.warn(formatMessage('warn', message), ...args); } }, error: (message, ...args) => { if (shouldLog('error')) { console.error(formatMessage('error', message), ...args); } }, }; }; exports.createLogger = createLogger;