aimless-sdk
Version:
Enhanced Runtime Application Self-Protection (RASP) and API Fuzzing Engine with advanced threat detection, behavioral analysis, and intelligent response scoring for Node.js applications
50 lines • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Logger = void 0;
class Logger {
constructor(config = {}) {
this.config = {
enabled: true,
level: 'info',
...config
};
}
shouldLog(level) {
if (!this.config.enabled)
return false;
const levels = ['debug', 'info', 'warn', 'error'];
const configLevel = levels.indexOf(this.config.level || 'info');
const messageLevel = levels.indexOf(level);
return messageLevel >= configLevel;
}
formatMessage(level, message, meta) {
const timestamp = new Date().toISOString();
const metaStr = meta ? ` | ${JSON.stringify(meta)}` : '';
return `[${timestamp}] [AIMLESS] [${level.toUpperCase()}] ${message}${metaStr}`;
}
debug(message, meta) {
if (this.shouldLog('debug')) {
console.debug(this.formatMessage('debug', message, meta));
}
}
info(message, meta) {
if (this.shouldLog('info')) {
console.info(this.formatMessage('info', message, meta));
}
}
warn(message, meta) {
if (this.shouldLog('warn')) {
console.warn(this.formatMessage('warn', message, meta));
}
}
error(message, meta) {
if (this.shouldLog('error')) {
console.error(this.formatMessage('error', message, meta));
}
}
threat(threat) {
this.warn('Security threat detected', threat);
}
}
exports.Logger = Logger;
//# sourceMappingURL=logger.js.map