@avanio/logger-like
    Preparing search index...

    Class MapLogger<LogMapType>

    MapLogger is a logger that extends normal logger and uses a object key mapping to determine the log level for each unique key. It allows for dynamic log level configuration for different log keys.

    const defaultLogMap = {
    test: LogLevel.Info,
    input: LogLevel.Debug,
    } as const;
    export type LogMappingType = LogMapInfer<typeof defaultLogMap>; // build type from default

    const logger = new MapLogger<LogMappingType>(console, defaultLogMap);
    logger.logKey('test', 'goes to info');
    logger.logKey('input', 'goes to debug');

    v0.1.0

    Type Parameters

    • LogMapType extends Record<string, LogLevelValue>

      Object type with LogLevelValue values

    Hierarchy

    • BaseLogger
      • MapLogger

    Implements

    Index

    Constructors

    Properties

    _logger: undefined | ILoggerLike

    Methods

    • debug level logging

      Parameters

      • message: any

        message to log

      • ...args: any[]

        additional arguments

      Returns void

    • error level logging

      Parameters

      • message: any

        message to log

      • ...args: any[]

        additional arguments

      Returns void

    • Parameters

      • message: any
      • ...args: any[]

      Returns void

    • Parameters

      • message: any
      • ...args: any[]

      Returns void

    • Parameters

      • message: any
      • ...args: any[]

      Returns void

    • this handles logic rules for logging

      Parameters

      Returns void

    • Parameters

      • message: any
      • ...args: any[]

      Returns void

    • Parameters

      • message: any
      • ...args: any[]

      Returns void

    • info level logging

      Parameters

      • message: any

        message to log

      • ...args: any[]

        additional arguments

      Returns void

    • Log message with level based on log key mapping

      Parameters

      • key: keyof LogMapType

        log key

      • message: any

        message to log

      • ...args: any[]

        additional arguments

      Returns void

      if log key is not found

    • Get JSON representation of the logger.

      Returns MapLoggerToJson<LogMapType>

      An object with the class name, logger status, and the log mapping object.

      const logger = new MapLogger<LogMappingType>(console, defaultLogMap);
      console.log(logger.toJSON());
      // output: {"$class":"MapLogger","map":{"foo":2,"bar":3},"logger":true}
    • Get string representation of the logger.

      Returns `MapLogger(${string})`

      String representation of the logger, e.g. MapLogger(logger: true, map: { foo: 2, bar: 3 })

    • trace level logging

      Parameters

      • message: any

        message to log

      • ...args: any[]

        additional arguments

      Returns void

    • warn level logging

      Parameters

      • message: any

        message to log

      • ...args: any[]

        additional arguments

      Returns void