ngx-logger-factory
v1.0.2
Published
Library QuickStart package.json from the documentation, supplemented with testing support
Downloads
12
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);
}
}