backend-plugin-api: update logger interface with more methods and meta

Co-authored-by: Fredrik Adelöw <freben@gmail.com>
Co-authored-by: Johan Haals <johan.haals@gmail.com>
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2022-12-14 17:20:20 +01:00
parent a219b735dc
commit cb1c2781c0
5 changed files with 39 additions and 7 deletions
@@ -20,6 +20,7 @@ import {
LoggerService,
coreServices,
} from '@backstage/backend-plugin-api';
import { LogMeta } from '@backstage/backend-plugin-api';
import { Logger as WinstonLogger } from 'winston';
class BackstageLogger implements LoggerService {
@@ -29,12 +30,24 @@ class BackstageLogger implements LoggerService {
private constructor(private readonly winston: WinstonLogger) {}
info(message: string, ...meta: any[]): void {
this.winston.info(message, ...meta);
error(message: string, meta?: LogMeta): void {
this.winston.error(message, meta);
}
child(fields: { [name: string]: string }): LoggerService {
return new BackstageLogger(this.winston.child(fields));
warn(message: string, meta?: LogMeta): void {
this.winston.warn(message, meta);
}
info(message: string, meta?: LogMeta): void {
this.winston.info(message, meta);
}
debug(message: string, meta?: LogMeta): void {
this.winston.debug(message, meta);
}
child(meta: LogMeta): LoggerService {
return new BackstageLogger(this.winston.child(meta));
}
}