Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 1x 4x 1x 2x 1x 2x 1x 5x 4x 4x 5x 1x 3x 1x 3x 3x 1x 7x | import type { Logger as PinoLogger, LoggerOptions } from "pino";
import { pino } from "pino";
export type TLogLevel =
| "fatal"
| "error"
| "warn"
| "info"
| "debug"
| "trace"
| "silent";
export type CustomLogger = {
trace: (message: unknown) => void;
warn: (message: unknown) => void;
info: (message: unknown) => void;
error: (message: unknown) => void;
};
export type Logger = PinoLogger | CustomLogger;
let logger: Logger | undefined;
const initialiseDefaultLogger = () => {
logger = pino({
name: "@govuk-one-login/default-logger",
level: process.env.LOG_LEVEL ?? process.env.LOGS_LEVEL ?? "warn",
});
};
export const setCustomLogger = (customLogger: CustomLogger) => {
if (logger) {
logger.warn("Setting custom logger when one already exists");
}
logger = customLogger;
};
export const getLogger = (): Logger => {
if (!logger) {
initialiseDefaultLogger();
Iif (!logger) {
throw new Error("Error initialising default logger");
}
}
return logger;
};
export const createLogger = (loggerOptions: LoggerOptions) => {
if (logger) {
logger.warn("Creating new logger with config when one already exists");
}
logger = pino(loggerOptions);
return logger;
};
export const resetLogger = () => {
logger = undefined;
};
|