Skip to content

Log with LumberjackService

Call LumberjackService when you need a one-off log or a thin wrapper. Prefer writing a logger for anything that repeats.

  • Lumberjack registered with at least one driver (see Quick start).
  1. Inject the service

    import { Component, inject } from '@angular/core';
    import { LumberjackService } from '@ngworker/lumberjack';
    
    @Component({
      selector: 'app-forest',
      template: ``,
    })
    export class ForestComponent {
      readonly #lumberjack = inject(LumberjackService);
    }
  2. Use a level shorthand

    Each severity has a method: logCritical, logError, logWarning, logInfo, logDebug, logTrace.

    this.#lumberjack.logInfo('Hello, Forest!');

    Optional second and third arguments are payload and scope. Pass undefined for the payload when you only need a scope:

    this.#lumberjack.logInfo('Hello, Forest!', undefined, 'ForestComponent');
  3. Or pass a full log object

    Use this when you already built a LumberjackLog (for example with LumberjackLogFactory).

    import { Component, inject } from '@angular/core';
    import { LumberjackLogFactory, LumberjackService } from '@ngworker/lumberjack';
    
    @Component({
      selector: 'app-forest',
      template: ``,
    })
    export class ForestComponent {
      readonly #lumberjack = inject(LumberjackService);
      readonly #logFactory = inject(LumberjackLogFactory);
    
      greet(): void {
        const log = this.#logFactory.createInfoLog('Hello, Forest!').withScope('ForestComponent').build();
    
        this.#lumberjack.log(log);
      }
    }