@nowarajs/logger
    Preparing search index...

    Class Logger<TSinks>

    Type Parameters

    • TSinks extends SinkMap = Record<string, never>

    Hierarchy

    • TypedEventEmitter<LoggerEvent>
      • Logger
    Index

    Constructors

    Methods

    • The Symbol.for('nodejs.rejection') method is called in case a promise rejection happens when emitting an event and captureRejections is enabled on the emitter. It is possible to use events.captureRejectionSymbol in place of Symbol.for('nodejs.rejection').

      import { EventEmitter, captureRejectionSymbol } from 'node:events';

      class MyClass extends EventEmitter {
      constructor() {
      super({ captureRejections: true });
      }

      [captureRejectionSymbol](err, event, ...args) {
      console.log('rejection happened for', event, 'with', err, ...args);
      this.destroy(err);
      }

      destroy(err) {
      // Tear the resource down here.
      }
      }

      Parameters

      • error: Error
      • event: string | symbol
      • ...args: any[]

      Returns void

      v13.4.0, v12.16.0

    • Registers an event listener for the specified event (alias for on).

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event to listen for.

      Parameters

      • event: KEvent

        The event name to listen for.

      • listener: (...args: LoggerEvent[KEvent]) => void

        The callback function that handles the event.

      Returns this

      This instance for chaining.

      class MyEmitter extends TypedEventEmitter<{ baz: [boolean] }> {}
      const emitter = new MyEmitter();
      emitter.addListener('baz', payload => {
      console.log(payload); // payload is boolean
      });
    • Closes the logger, flushes pending logs, and releases resources.

      Returns Promise<void>

    • Emits an event with the specified payload.

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event to emit.

      Parameters

      • event: KEvent

        The event name to emit.

      • ...args: LoggerEvent[KEvent]

      Returns boolean

      Whether the event had listeners.

      class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
      const emitter = new MyEmitter();
      emitter.emit('foo', 'hello');
    • Returns an array listing the events for which the emitter has registered listeners.

      import { EventEmitter } from 'node:events';

      const myEE = new EventEmitter();
      myEE.on('foo', () => {});
      myEE.on('bar', () => {});

      const sym = Symbol('symbol');
      myEE.on(sym, () => {});

      console.log(myEE.eventNames());
      // Prints: [ 'foo', 'bar', Symbol(symbol) ]

      Returns (string | symbol)[]

      v6.0.0

    • Flushes all pending logs and waits for them to be processed.

      Returns Promise<void>

    • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to events.defaultMaxListeners.

      Returns number

      v1.0.0

    • Returns the number of listeners for the specified event.

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event.

      Parameters

      Returns number

      The number of listeners.

      class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
      const emitter = new MyEmitter();
      emitter.on('foo', () => {});
      const count = emitter.listenerCount('foo');
    • Returns a copy of the array of listeners for the specified event.

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event.

      Parameters

      Returns ((...args: LoggerEvent[KEvent]) => void)[]

      An array of listener functions.

      class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
      const emitter = new MyEmitter();
      emitter.on('foo', () => {});
      const listeners = emitter.listeners('foo');
    • Removes an event listener for the specified event (alias for removeListener).

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event.

      Parameters

      • event: KEvent

        The event name.

      • listener: (...args: LoggerEvent[KEvent]) => void

        The callback function to remove.

      Returns this

      This instance for chaining.

      class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
      const emitter = new MyEmitter();
      const handler = (payload: string) => {};
      emitter.on('foo', handler);
      emitter.off('foo', handler);
    • Registers an event listener for the specified event.

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event to listen for.

      Parameters

      • event: KEvent

        The event name to listen for.

      • listener: (...args: LoggerEvent[KEvent]) => void

        The callback function that handles the event.

      Returns this

      This instance for chaining.

      class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
      const emitter = new MyEmitter();
      emitter.on('foo', payload => {
      console.log(payload); // payload is string
      });
    • Registers a one-time event listener for the specified event.

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event to listen for.

      Parameters

      • event: KEvent

        The event name to listen for.

      • listener: (...args: LoggerEvent[KEvent]) => void

        The callback function that handles the event.

      Returns this

      This instance for chaining.

      class MyEmitter extends TypedEventEmitter<{ bar: [number] }> {}
      const emitter = new MyEmitter();
      emitter.once('bar', payload => {
      console.log(payload); // payload is number
      });
    • Adds a listener to the beginning of the listeners array for the specified event.

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event.

      Parameters

      • event: KEvent

        The event name.

      • listener: (...args: LoggerEvent[KEvent]) => void

        The callback function to add.

      Returns this

      This instance for chaining.

      class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
      const emitter = new MyEmitter();
      emitter.prependListener('foo', payload => {
      console.log(payload);
      });
    • Adds a one-time listener to the beginning of the listeners array for the specified event.

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event.

      Parameters

      • event: KEvent

        The event name.

      • listener: (...args: LoggerEvent[KEvent]) => void

        The callback function to add.

      Returns this

      This instance for chaining.

      class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
      const emitter = new MyEmitter();
      emitter.prependOnceListener('foo', payload => {
      console.log(payload);
      });
    • Returns a copy of the array of raw listeners for the specified event.

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event.

      Parameters

      Returns ((...args: LoggerEvent[KEvent]) => void)[]

      An array of raw listener functions.

      class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
      const emitter = new MyEmitter();
      emitter.on('foo', () => {});
      const rawListeners = emitter.rawListeners('foo');
    • Removes all listeners, or those of the specified eventName.

      It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

      Returns a reference to the EventEmitter, so that calls can be chained.

      Type Parameters

      • E extends string | symbol

      Parameters

      • OptionaleventName: string | symbol

      Returns this

      v0.1.26

    • Removes an event listener for the specified event.

      Type Parameters

      • KEvent extends keyof LoggerEvent

        The type of event.

      Parameters

      • event: KEvent

        The event name.

      • listener: (...args: LoggerEvent[KEvent]) => void

        The callback function to remove.

      Returns this

      This instance for chaining.

      class MyEmitter extends TypedEventEmitter<{ foo: string }> {}
      const emitter = new MyEmitter();
      const handler = (payload: string) => {};
      emitter.on('foo', handler);
      emitter.removeListener('foo', handler);
    • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default that helps finding memory leaks. The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.

      Returns a reference to the EventEmitter, so that calls can be chained.

      Parameters

      • n: number

      Returns this

      v0.3.5