Better usage of pino

This commit is contained in:
Fedor Indutny
2025-06-16 09:47:18 -07:00
committed by GitHub
parent 58f006aac2
commit f6c19c548e
60 changed files with 489 additions and 738 deletions

View File

@@ -5,67 +5,27 @@ import type { LoggerType } from '../types/Logging';
/* eslint-disable no-console */
export const consoleLogger: LoggerType = {
fatal(...args: Array<unknown>) {
fatal(...args) {
console.error(...args);
},
error(...args: Array<unknown>) {
error(...args) {
console.error(...args);
},
warn(...args: Array<unknown>) {
warn(...args) {
console.warn(...args);
},
info(...args: Array<unknown>) {
info(...args) {
console.info(...args);
},
debug(...args: Array<unknown>) {
debug(...args) {
console.debug(...args);
},
trace(...args: Array<unknown>) {
trace(...args) {
console.log(...args);
},
child() {
throw new Error('Not supported');
},
};
export type BufferedLoggerType = LoggerType & {
writeBufferInto(logger: LoggerType): void;
};
export function createBufferedConsoleLogger(): BufferedLoggerType {
type BufferEntryType = Readonly<{
level: keyof LoggerType;
args: Array<unknown>;
}>;
const buffer = new Array<BufferEntryType>();
return {
fatal(...args: Array<unknown>) {
buffer.push({ level: 'fatal', args });
console.error(...args);
},
error(...args: Array<unknown>) {
buffer.push({ level: 'error', args });
console.error(...args);
},
warn(...args: Array<unknown>) {
buffer.push({ level: 'warn', args });
console.warn(...args);
},
info(...args: Array<unknown>) {
buffer.push({ level: 'info', args });
console.info(...args);
},
debug(...args: Array<unknown>) {
buffer.push({ level: 'debug', args });
console.debug(...args);
},
trace(...args: Array<unknown>) {
buffer.push({ level: 'trace', args });
console.log(...args);
},
writeBufferInto(output) {
for (const { level, args } of buffer) {
output[level](...args);
}
},
};
}
/* eslint-enable no-console */