Files
homeclaw/web-ui/vendor/rp2040js/utils/logging.js
T
kim 209f3a3aef v3.0.6: RP2040 에뮬레이터 개선 — USB CDC, vendor화, 부팅 감지
- USB CDC 경로 복원: #define Serial Serial1 우회 제거
- rp2040js/avr8js/codemirror/xterm/monaco-editor vendor화
- /vendor 정적 라우팅 추가 (Express 5 catch-all 우회)
- 부팅 완료 타임아웃 감지 (Serial 출력 없어도 8초 후 RAF 전환)
- 리셋 시 Simulator 재생성으로 주변 장치 상태 초기화
- 시리얼 패널의 내부 메시지를 console.log로 이동
2026-06-19 15:49:36 +09:00

45 lines
1.5 KiB
JavaScript

import { formatTime } from './time.js';
export var LogLevel;
(function (LogLevel) {
LogLevel[LogLevel["Debug"] = 0] = "Debug";
LogLevel[LogLevel["Info"] = 1] = "Info";
LogLevel[LogLevel["Warn"] = 2] = "Warn";
LogLevel[LogLevel["Error"] = 3] = "Error";
})(LogLevel || (LogLevel = {}));
export class ConsoleLogger {
constructor(currentLogLevel, throwOnError = true) {
this.currentLogLevel = currentLogLevel;
this.throwOnError = throwOnError;
}
aboveLogLevel(logLevel) {
return logLevel >= this.currentLogLevel ? true : false;
}
formatMessage(componentName, message) {
const currentTime = formatTime(new Date());
return `${currentTime} [${componentName}] ${message}`;
}
debug(componetName, message) {
if (this.aboveLogLevel(LogLevel.Debug)) {
console.debug(this.formatMessage(componetName, message));
}
}
warn(componetName, message) {
if (this.aboveLogLevel(LogLevel.Warn)) {
console.warn(this.formatMessage(componetName, message));
}
}
error(componentName, message) {
if (this.aboveLogLevel(LogLevel.Error)) {
console.error(this.formatMessage(componentName, message));
if (this.throwOnError) {
throw new Error(`[${componentName}] ${message}`);
}
}
}
info(componentName, message) {
if (this.aboveLogLevel(LogLevel.Info)) {
console.info(this.formatMessage(componentName, message));
}
}
}