ngx-logger-factory
v1.0.2
Published
Library QuickStart package.json from the documentation, supplemented with testing support
Readme
Warning
This logger is under active development and hasn't yet reached its final form.
It may not be fully compatible with current versions of Angular.
Ngx-logger
This is a simple library to log in Angular
Features:
- a simple logger service
- a simple log consumer which log in console
- unit tests for the library
- a demo application
Common tasks are present as npm scripts:
npm startto run a live-reload server with the demo appnpm run testto test in watch mode, ornpm run test:onceto only run oncenpm run buildto build the librarynpm run lintto lintnpm run cleanto cleannpm run integrationto run the integration e2e testsnpm install ./relative/path/to/libafternpm run buildto test locally in another app
To use this librairie :
@NgModule({
imports: [
LoggerModule.forRoot(LogLevelEnum.debug) // Set here the minimum log level
],
providers: [
ConsoleConsumer // Provide one or many Consumers
]
})
export class LoggerModule {
// Inject eager provider to avoid lazy loading for this
constructor(private consoleConsumer: ConsoleConsumer) {}
}To write some log consumers :
@Injectable()
export class ConsoleConsumer {
constructor(private loggerService: LoggerService) {
loggerService.getLogs()
.subscribe(log => console[LogLevelEnum[log.level]](... log.payload));
}
}Just replace console[LogLevelEnum[log.level]](... log.payload) with your own code and instantiate your consumer.
For use the logger :
You have to inject in your constructor the LoggerService and get an new instance given the class name (prefix) and use this instance for log the information
Example:
export class AppComponent implements OnInit {
logger: Logger;
constructor(loggerService: LoggerService) {
this.logger = loggerService.create(this.constructor.name);
}
ngOnInit() {
this.logger.log('Init App component');
setInterval(() => {
this.logger.warn('Interval', new Date());
}, 1000);
}
}