@alexaegis/logging
Version:
Minimal logging tools
72 lines (71 loc) • 2.59 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
let tslog = require("tslog");
//#region src/logger/create-logger.function.ts
var prettyLogTemplateTimestamp = "{{dateIsoStr}} ";
var prettyLogTemplateBody = "{{logLevelName}}:{{nameWithDelimiterPrefix}} ";
var normalizeLoggerOptions = (options) => {
const timestamps = options?.timestamps ?? false;
return {
name: "log",
timestamps,
prettyLogTemplate: timestamps ? "{{dateIsoStr}} {{logLevelName}}:{{nameWithDelimiterPrefix}} " : prettyLogTemplateBody,
...options
};
};
var createLogger = (options) => {
return new tslog.Logger(normalizeLoggerOptions(options));
};
//#endregion
//#region src/logger/log-level.enum.ts
var LogLevel = /* @__PURE__ */ function(LogLevel) {
LogLevel[LogLevel["OFF"] = 1e6] = "OFF";
LogLevel[LogLevel["FATAL"] = 6] = "FATAL";
LogLevel[LogLevel["ERROR"] = 5] = "ERROR";
LogLevel[LogLevel["WARN"] = 4] = "WARN";
LogLevel[LogLevel["INFO"] = 3] = "INFO";
LogLevel[LogLevel["DEBUG"] = 2] = "DEBUG";
LogLevel[LogLevel["TRACE"] = 1] = "TRACE";
LogLevel[LogLevel["SILLY"] = 0] = "SILLY";
return LogLevel;
}({});
var logLevelKeys = Object.values(LogLevel).filter((valueOrKey) => typeof valueOrKey === "string");
var logLevelValues = Object.values(LogLevel).filter((valueOrKey) => typeof valueOrKey === "number");
var isLogLevelEnumValue = (o) => {
return logLevelValues.includes(o);
};
var isLogLevelEnumKey = (o) => {
return logLevelKeys.includes(o);
};
//#endregion
//#region src/logger/log-level.enum.option.ts
var normalizeLogLevelOption = (options) => {
return { logLevel: options?.logLevel ?? LogLevel.INFO };
};
//#endregion
//#region src/logger/noop-logger.const.ts
/**
* Acts as the default logger that does not do anything.
*/
var noopLogger = createLogger({
type: "hidden",
minLevel: LogLevel.OFF
});
//#endregion
//#region src/logger/logger.option.ts
var normalizeLoggerOption = (options) => {
return { logger: options?.logger ?? noopLogger };
};
//#endregion
exports.LogLevel = LogLevel;
exports.createLogger = createLogger;
exports.isLogLevelEnumKey = isLogLevelEnumKey;
exports.isLogLevelEnumValue = isLogLevelEnumValue;
exports.logLevelKeys = logLevelKeys;
exports.logLevelValues = logLevelValues;
exports.noopLogger = noopLogger;
exports.normalizeLogLevelOption = normalizeLogLevelOption;
exports.normalizeLoggerOption = normalizeLoggerOption;
exports.normalizeLoggerOptions = normalizeLoggerOptions;
exports.prettyLogTemplateBody = prettyLogTemplateBody;
exports.prettyLogTemplateTimestamp = prettyLogTemplateTimestamp;
//# sourceMappingURL=index.cjs.map