theater-client
Version:
TypeScript client library for Theater actor system TCP protocol
46 lines • 1.38 kB
JavaScript
/**
* Simple logging utility for Theater client
*/
class ConsoleLogger {
component;
constructor(component) {
this.component = component;
}
shouldLog(level) {
const levels = ['debug', 'info', 'warn', 'error'];
return levels.indexOf(level) >= levels.indexOf(globalLogLevel);
}
formatMessage(level, message) {
const timestamp = new Date().toISOString();
return `[${timestamp}] [${level.toUpperCase()}] [${this.component}] ${message}`;
}
debug(message, ...args) {
if (this.shouldLog('debug')) {
console.debug(this.formatMessage('debug', message), ...args);
}
}
info(message, ...args) {
if (this.shouldLog('info')) {
console.info(this.formatMessage('info', message), ...args);
}
}
warn(message, ...args) {
if (this.shouldLog('warn')) {
console.warn(this.formatMessage('warn', message), ...args);
}
}
error(message, ...args) {
if (this.shouldLog('error')) {
console.error(this.formatMessage('error', message), ...args);
}
}
}
// Global logger configuration
let globalLogLevel = 'info';
export function setLogLevel(level) {
globalLogLevel = level;
}
export function createLogger(component) {
return new ConsoleLogger(component);
}
//# sourceMappingURL=logger.js.map