@abapify/logger
v0.3.6
Published
Shared logger interface for abapify packages
Downloads
695
Readme
@abapify/logger
Shared logger interface for @abapify packages.
Overview
This package defines the Logger interface used across all abapify packages. It is compatible with pino, winston, bunyan, and any other logger that exposes a standard log-level API.
Installation
npm install @abapify/loggerUsage
Accept the interface in your package
import type { Logger } from '@abapify/logger';
export function createMyService(logger: Logger) {
logger.info('Service started');
logger.debug('Detail', { key: 'value' });
}Use the no-op logger in tests
import { noopLogger } from '@abapify/logger';
const service = createMyService(noopLogger);Use pino in production
import pino from 'pino';
import type { Logger } from '@abapify/logger';
const logger: Logger = pino();Interface
interface Logger {
trace(msg: string, obj?: any): void;
debug(msg: string, obj?: any): void;
info(msg: string, obj?: any): void;
warn(msg: string, obj?: any): void;
error(msg: string, obj?: any): void;
fatal(msg: string, obj?: any): void;
child(bindings: Record<string, any>): Logger;
}License
MIT
