rabbit-browser
Version:
Browser automation tool for detecting interactive elements on web pages
92 lines • 2.2 kB
JavaScript
;
/**
* Logger utility for consistent log messages
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.LogLevel = void 0;
exports.setLogLevel = setLogLevel;
exports.logWithLevel = logWithLevel;
exports.log = log;
exports.debug = debug;
exports.warn = warn;
exports.error = error;
exports.createBrowserLogger = createBrowserLogger;
// Log levels
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["NONE"] = 4] = "NONE";
})(LogLevel || (exports.LogLevel = LogLevel = {}));
// Current log level - can be set by the application
let currentLogLevel = LogLevel.INFO;
/**
* Set the current log level
*/
function setLogLevel(level) {
currentLogLevel = level;
}
/**
* Log a message at the specified level
*/
function logWithLevel(level, message) {
if (level >= currentLogLevel) {
const prefix = getLogPrefix(level);
console.log(`${prefix} ${message}`);
}
}
/**
* Standard log function (INFO level)
*/
function log(message) {
logWithLevel(LogLevel.INFO, message);
}
/**
* Debug level log
*/
function debug(message) {
logWithLevel(LogLevel.DEBUG, message);
}
/**
* Warning level log
*/
function warn(message) {
logWithLevel(LogLevel.WARN, message);
}
/**
* Error level log
*/
function error(message) {
logWithLevel(LogLevel.ERROR, message);
}
/**
* Get prefix for log level
*/
function getLogPrefix(level) {
switch (level) {
case LogLevel.DEBUG:
return "[DEBUG]";
case LogLevel.INFO:
return "[INFO]";
case LogLevel.WARN:
return "[WARN]";
case LogLevel.ERROR:
return "[ERROR]";
default:
return "[INFO]";
}
}
/**
* Browser-to-Node logging helper to be used in browser context
*/
function createBrowserLogger() {
return `
function sendToNodeJS(message, level = 'info') {
const prefix = level.toUpperCase();
console.log(\`[\${prefix}] \${message}\`);
}
`;
}
//# sourceMappingURL=logger.js.map