libs/ngx-pfe/models/pfe-logger.model.ts
PfeLogger Minimal logger contract.
Methods |
| debug | |||||||||
debug(message: string, ...params: unknown[])
|
|||||||||
|
Defined in libs/ngx-pfe/models/pfe-logger.model.ts:19
|
|||||||||
|
Parameters :
Returns :
void
|
| error | |||||||||
error(message: string, ...params: unknown[])
|
|||||||||
|
Defined in libs/ngx-pfe/models/pfe-logger.model.ts:22
|
|||||||||
|
Parameters :
Returns :
void
|
| info | |||||||||
info(message: string, ...params: unknown[])
|
|||||||||
|
Defined in libs/ngx-pfe/models/pfe-logger.model.ts:20
|
|||||||||
|
Parameters :
Returns :
void
|
| warn | |||||||||
warn(message: string, ...params: unknown[])
|
|||||||||
|
Defined in libs/ngx-pfe/models/pfe-logger.model.ts:21
|
|||||||||
|
Parameters :
Returns :
void
|
import { InjectionToken, isDevMode } from '@angular/core';
/**
* @constant PFE_LOGGER
* Injection token for the `PfeLogger` interface.
* Host applications can override this token to provide their own logger implementation.
* (e.g. one that forwards to a remote logging backend).
*/
export const PFE_LOGGER: InjectionToken<PfeLogger> = new InjectionToken<PfeLogger>('PFE_LOGGER', {
providedIn: 'root',
factory: pfeDefaultLoggerFactory,
});
/**
* @interface PfeLogger
* Minimal logger contract.
*/
export interface PfeLogger {
debug(message: string, ...params: unknown[]): void;
info(message: string, ...params: unknown[]): void;
warn(message: string, ...params: unknown[]): void;
error(message: string, ...params: unknown[]): void;
}
/**
* @function pfeDefaultLoggerFactory
* Default minimal PFE_LOGGER implementation.
* Logs to console in development and is a silent no-op in production.
*/
function pfeDefaultLoggerFactory(): PfeLogger {
if (!isDevMode()) {
return {
debug: () => undefined,
info: () => undefined,
warn: () => undefined,
error: () => undefined,
};
}
return {
debug: (message: string, ...params: unknown[]) => console.debug(message, ...params),
info: (message: string, ...params: unknown[]) => console.info(message, ...params),
warn: (message: string, ...params: unknown[]) => console.warn(message, ...params),
error: (message: string, ...params: unknown[]) => console.error(message, ...params),
};
}