https://github.com/bmgandre/angular-object-logger
Send objects logs to console or web
https://github.com/bmgandre/angular-object-logger
angular angular-service angular5 logger logging
Last synced: 26 days ago
JSON representation
Send objects logs to console or web
- Host: GitHub
- URL: https://github.com/bmgandre/angular-object-logger
- Owner: bmgandre
- License: mit
- Created: 2018-03-13T01:54:53.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-07-10T01:16:39.000Z (over 7 years ago)
- Last Synced: 2025-08-09T01:31:17.174Z (6 months ago)
- Topics: angular, angular-service, angular5, logger, logging
- Language: TypeScript
- Size: 596 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.org/bmgandre/angular-object-logger)
[](https://codecov.io/gh/bmgandre/angular-object-logger)
[](https://nodei.co/npm/angular-object-logger/)
# angular-object-logger
Send objects logs to console or web.
angular-object-logger provides a multi target logger service with filtering capabilities.
## Installing
Using npm install angular-object-logger alongside with its peer dependencies :
```bash
npm install angular-object-logger --save
npm install @angular/common --save
npm install stacktrace-js --save
```
## Configure your project
```typescript
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';
import { AppComponent } from './app.component';
import {
LoggerServiceModule,
LoggerService,
LoggerFactoryConfig,
LoggerFactoryService
} from 'angular-object-logger';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
HttpClientModule,
LoggerServiceModule
],
providers: [
{ provide: LoggerEnvironmentConfig, useValue: environment }
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
```
Edit `environment.ts` and configure global and target filters:
```javascript
export const environment = {
production: false,
logger: {
filters: [
{ source: '.*', minlevel: 'warn', maxlevel: 'fatal' }
],
consoleTarget: {
filters: [
{ source: 'AppComponent', minlevel: 'info', maxlevel: 'fatal' },
{ source: 'HomeComponent', level: 'info' },
{ source: 'SearchComponent', levels: [ 'trace', 'debug' ] },
]
},
webTarget: {
endpoint: 'http://localhost:4000/'
}
}
};
```
```typescript
@Component({
selector: 'app-playground',
template: `
`
})
class AppComponent {
constructor(
private loggerFactory: LoggerFactoryService
) {
const logger = loggerFactory.createLogger(this);
logger.trace('string log');
logger.debug('String format log {0}: {1}', { name: 'Andre' }, { x: 10, y: 20 });
logger.info({ list: ['object', 'log'] });
logger.warn('string message with exception', new Error());
logger.error({ message: 'object with exception' }, new Error());
logger.fatal('string log message with exception', new Error());
}
}
```
## Development
To generate all `*.js`, `*.d.ts` and `*.metadata.json` files:
```bash
npm run build
```
To lint all `*.ts` files:
```bash
npm run lint
```
## License
MIT © [André Gomes](mailto:bmg.andre@gmail.com)