strogger
Version:
📊 A modern structured logging library with functional programming, duck-typing, and comprehensive third-party integrations
43 lines • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createConsoleTransport = void 0;
const types_1 = require("../types");
const base_transport_1 = require("./base-transport");
const createConsoleTransport = (options = {}) => {
let minLevel = options.level ?? types_1.LogLevel.INFO;
const formatter = options.formatter || {
format: (entry) => JSON.stringify(entry),
};
// Note: useColors is available for future color support
// const useColors = options.useColors ?? true;
return {
log: (entry) => {
if (!(0, base_transport_1.shouldLog)(entry.level, minLevel))
return;
const formattedMessage = formatter.format(entry);
switch (entry.level) {
case types_1.LogLevel.DEBUG:
console.debug(formattedMessage);
break;
case types_1.LogLevel.INFO:
console.info(formattedMessage);
break;
case types_1.LogLevel.WARN:
console.warn(formattedMessage);
break;
case types_1.LogLevel.ERROR:
case types_1.LogLevel.FATAL:
console.error(formattedMessage);
break;
}
},
setLevel: (level) => {
minLevel = level;
},
getLevel: () => {
return minLevel;
},
};
};
exports.createConsoleTransport = createConsoleTransport;
//# sourceMappingURL=console-transport.js.map