@livy/logger
Version:
A Monolog-inspired logging library for Node.js
26 lines (25 loc) • 894 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLogger = void 0;
const async_logger_1 = require("./async-logger");
const mixed_logger_1 = require("./mixed-logger");
const sync_logger_1 = require("./sync-logger");
/**
* Create a logger instance
*
* @param name The name of the logger
* @param options The options for the logger
*/
function createLogger(name, { mode = 'mixed', ...options } = {}) {
switch (mode) {
case 'sync':
return new sync_logger_1.SyncLogger(name, options);
case 'async':
return new async_logger_1.AsyncLogger(name, options);
case 'mixed':
return new mixed_logger_1.MixedLogger(name, options);
default:
throw new Error(`Invalid logging mode "${mode}". Use one of "sync", "async" or "mixed".`);
}
}
exports.createLogger = createLogger;