nginx-binaries
Version:
A downloader for nginx and njs standalone binaries.
44 lines • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.__testing = exports.setLogger = exports.log = void 0;
const loggerName = 'nginx-binaries';
const logLevels = ['debug', 'info', 'warn', 'error'];
const noop = () => void 0;
/** @internal */
// Initialized in `initialize()`.
exports.log = {};
/**
* Use the given logger. Undefined logging functions will be replaced with no-op.
*/
function setLogger(logger) {
for (const level of logLevels) {
exports.log[level] = logger[level] || noop;
}
}
exports.setLogger = setLogger;
// NOTE: We cannot use dynamic `import()` because we don't have guarantee that
// it will be invoked *before* `setLogger` called from the application code.
(function initialize() {
try {
const anylogger = require('anylogger')(loggerName);
if (anylogger.enabledFor('error') != null) {
for (const level of logLevels) {
exports.log[level] = (...args) => anylogger[level](...args);
}
return;
}
}
catch { }
for (const level of logLevels) {
exports.log[level] = (...args) => console[level](`${loggerName}:`, ...args);
}
try {
exports.log.debug = require('debug')(loggerName);
}
catch {
exports.log.debug = noop;
}
})();
/** @internal */
exports.__testing = { loggerName, logLevels, noop };
//# sourceMappingURL=logger.js.map