ngx-logger-factory
v1.0.2
Published
Library QuickStart package.json from the documentation, supplemented with testing support
Downloads
3
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 start
to run a live-reload server with the demo appnpm run test
to test in watch mode, ornpm run test:once
to only run oncenpm run build
to build the librarynpm run lint
to lintnpm run clean
to cleannpm run integration
to run the integration e2e testsnpm install ./relative/path/to/lib
afternpm run build
to 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);
}
}