chore: Strict log types (#38296)

pull/38282/head^2
Kevin Aleman 4 months ago committed by GitHub
parent 150f6623e8
commit e22b852f64
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 14
      packages/logger/src/getPino.ts
  2. 72
      packages/logger/src/index.ts

@ -1,22 +1,8 @@
import { pino } from 'pino';
import type { Logger } from 'pino';
// add support to multiple params on the log commands, i.e.:
// logger.info('user', await Meteor.userAsync()); // will print: {"level":30,"time":1629814080968,"msg":"user {\"username\": \"foo\"}"}
function logMethod(this: Logger, args: unknown[], method: any): void {
if (args.length === 2 && args[0] instanceof Error) {
return method.apply(this, args);
}
if (args.length > 1) {
args[0] = `${args[0]}${' %j'.repeat(args.length - 1)}`;
}
return method.apply(this, args);
}
const infoLevel = process.env.LESS_INFO_LOGS ? 20 : 35;
const mainPino = pino({
hooks: { logMethod },
customLevels: {
http: infoLevel,
method: infoLevel,

@ -49,76 +49,40 @@ export class Logger {
this.logger.level = newLevel;
}
log<T extends object>(obj: T, ...args: any[]): void;
log(obj: unknown, ...args: any[]): void;
log(msg: string, ...args: any[]): void {
this.logger.info(msg, ...args);
log(msg: object | string): void {
this.logger.info(msg);
}
debug<T extends object>(obj: T, ...args: any[]): void;
debug(obj: unknown, ...args: any[]): void;
debug(msg: string, ...args: any[]): void {
this.logger.debug(msg, ...args);
debug(msg: object | string): void {
this.logger.debug(msg);
}
info<T extends object>(obj: T, ...args: any[]): void;
info(obj: unknown, ...args: any[]): void;
info(msg: string, ...args: any[]): void {
this.logger.info(msg, ...args);
info(msg: object | string): void {
this.logger.info(msg);
}
startup<T extends object>(obj: T, ...args: any[]): void;
startup(obj: unknown, ...args: any[]): void;
startup(msg: string, ...args: any[]): void {
this.logger.startup(msg, ...args);
startup(msg: object | string): void {
this.logger.startup(msg);
}
success<T extends object>(obj: T, ...args: any[]): void;
success(obj: unknown, ...args: any[]): void;
success(msg: string, ...args: any[]): void {
this.logger.info(msg, ...args);
success(msg: object | string): void {
this.logger.info(msg);
}
warn<T extends object>(obj: T, ...args: any[]): void;
warn(obj: unknown, ...args: any[]): void;
warn(msg: string, ...args: any[]): void {
this.logger.warn(msg, ...args);
warn(msg: object | string): void {
this.logger.warn(msg);
}
error<T extends object>(obj: T, ...args: any[]): void;
error(obj: unknown, ...args: any[]): void;
error(msg: string, ...args: any[]): void {
this.logger.error(msg, ...args);
error(msg: object | string): void {
this.logger.error(msg);
}
method<T extends object>(obj: T, ...args: any[]): void;
method(obj: unknown, ...args: any[]): void;
method(msg: string, ...args: any[]): void {
this.logger.method(msg, ...args);
method(msg: object | string): void {
this.logger.method(msg);
}
subscription<T extends object>(obj: T, ...args: any[]): void;
subscription(obj: unknown, ...args: any[]): void;
subscription(msg: string, ...args: any[]): void {
this.logger.subscription(msg, ...args);
subscription(msg: object | string): void {
this.logger.subscription(msg);
}
fatal(err: unknown, ...args: any[]): void {

Loading…
Cancel
Save