UNPKG

lightswitch-js-sdk

Version:

light switch javascript sdk

43 lines (42 loc) 1.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LSLogger = void 0; const types_1 = require("./types"); const LSLogger = (logLevel = types_1.LogLevel.INFO) => ({ debug: (message) => log(types_1.LogLevel.DEBUG, message, logLevel), info: (message) => log(types_1.LogLevel.INFO, message, logLevel), warning: (message) => log(types_1.LogLevel.WARNING, message, logLevel), error: (message) => log(types_1.LogLevel.ERROR, message, logLevel), }); exports.LSLogger = LSLogger; const log = (level, message, logLevel) => { // 사용자가 설정한 로그 수준(logLevel)보다 실제 로그 레벨(level)이 높거나 같은 경우에만 로그를 출력합니다. if (level >= logLevel) { const now = new Date(); const milliseconds = now.getMilliseconds().toString().padStart(3, '0'); // 밀리세컨드 값 const timestamp = `${now.toLocaleTimeString('en-US', { hour12: false, hour: '2-digit', minute: '2-digit', second: '2-digit', })}.${milliseconds}`; const prefix = `[${timestamp} LightSwitch ${types_1.LogLevel[level]}] :`; switch (level) { case types_1.LogLevel.DEBUG: console.debug(`${prefix} ${message}`); break; case types_1.LogLevel.INFO: console.log(`${prefix} ${message}`); break; case types_1.LogLevel.WARNING: console.warn(`${prefix} ${message}`); break; case types_1.LogLevel.ERROR: console.error(`${prefix} ${message}`); break; default: console.log(`${prefix} ${message}`); break; } } };