@alexaegis/logging
Version:
Minimal logging tools
60 lines (59 loc) • 2.19 kB
JavaScript
import { Logger } from "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 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
export { LogLevel, createLogger, isLogLevelEnumKey, isLogLevelEnumValue, logLevelKeys, logLevelValues, noopLogger, normalizeLogLevelOption, normalizeLoggerOption, normalizeLoggerOptions, prettyLogTemplateBody, prettyLogTemplateTimestamp };
//# sourceMappingURL=index.js.map