21 lines
550 B
TypeScript
21 lines
550 B
TypeScript
import { pino, type Logger } from "pino";
|
|
|
|
const VALID_LEVELS = new Set(["trace", "debug", "info", "warn", "error", "fatal", "silent"]);
|
|
|
|
function resolveLevel(input: string | undefined): string {
|
|
if (!input) {
|
|
return "info";
|
|
}
|
|
|
|
const normalized = input.toLowerCase();
|
|
return VALID_LEVELS.has(normalized) ? normalized : "info";
|
|
}
|
|
|
|
export function createLogger(level: string | undefined): Logger {
|
|
return pino({
|
|
level: resolveLevel(level),
|
|
base: { service: "usdt-transfer" },
|
|
timestamp: pino.stdTimeFunctions.isoTime
|
|
});
|
|
}
|