DWS Packages
    Preparing search index...

    Class Logger<TSinks>

    Type Parameters

    • TSinks extends SinkMap = Record<never, 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
      });
    • Logs a message at the DEBUG level to the specified sinks.

      Type Parameters

      Parameters

      • object: SinkBodiesIntersection<TSinks, SNames[number]>

        The log message object

      • sinkNames: SNames = ...

        Optional array of sink names to log to; logs to all sinks if omitted

      Returns 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]

        The data to send with the event.

      Returns boolean

      Whether the event had listeners.

      class MyEmitter extends TypedEventEmitter<{ foo: [string] }> {}
      const emitter = new MyEmitter();
      emitter.emit('foo', 'hello');
    • Logs a message at the ERROR level to the specified sinks.

      Type Parameters

      Parameters

      • object: SinkBodiesIntersection<TSinks, SNames[number]>

        The log message object

      • sinkNames: SNames = ...

        Optional array of sink names to log to; logs to all sinks if omitted

      Returns void

    • 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

    • 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

    • Logs a message at the INFO level to the specified sinks.

      Type Parameters

      Parameters

      • object: SinkBodiesIntersection<TSinks, SNames[number]>

        The log message object

      • sinkNames: SNames = ...

        Optional array of sink names to log to; logs to all sinks if omitted

      Returns void

    • 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');
    • Logs a message at the TRACE level to the specified sinks.

      Type Parameters

      Parameters

      • object: SinkBodiesIntersection<TSinks, SNames[number]>

        The log message object

      • sinkNames: SNames = ...

        Optional array of sink names to log to; logs to all sinks if omitted

      Returns void

    • 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

    • Logs a message at the WARN level to the specified sinks.

      Type Parameters

      Parameters

      • object: SinkBodiesIntersection<TSinks, SNames[number]>

        The log message object

      • sinkNames: SNames = ...

        Optional array of sink names to log to; logs to all sinks if omitted

      Returns void