1.0.7 • Published 7 years ago

simple-angular-logger v1.0.7

Weekly downloads
36
License
UNLICENSED
Repository
github
Last release
7 years ago

simple-angular-logger

Simple logging facade for Angular 4 supporting build-time environment specific options and, most importantly, AOT. Use it as-is, or as a base to build out your own logging needs.

Installation

To install this library, run:

$ npm install simple-angular-logger --save

You can configure the logger via the module's forRoot function by passing a function that produces an Options object. Reasoning for this is so that you can have environment specific options, IE those that rely on something like Webpack defines or some other mechanism that injects globals into your code at build time, and still be ok with Angular's AOT compiler.

The code is heavily inspired by other loggers for Angular, but this one is packaged properly according to the Angular guidelines and works with AOT.

Import and configure it:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';

// Import the module and model classes.
import { LoggerModule, Options, Level } from 'simple-angular-logger';

export function loggerOptions(): Options {
  if (ENV === 'production') {
    return { level: Level.WARN };
  }
  if (ENV === 'development') {
    return { level: Level.LOG };
  }
}

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    LoggerModule.forRoot(loggerOptions),
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

Use it:

import { Injectable } from '@angular/core';
import { Logger } from 'simple-angular-logger';

@Injectable()
export class MyService {

  constructor(
    private log: Logger
  ) { }

  private someMethod() {
    this.log.log('Here is a log statement');
    this.log.debug('Here is a debug statement');
    this.log.info('Here is a info statement');
    this.log.warn('Here is a warn statement');
    this.log.error('Here is a error statement');
  }
}

License

Do whatever you want, it's like 15 lines of code.

1.0.7

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago