@ceeblue/web-utils
    Preparing search index...

    Interface ILog

    Log interface to deal with log everywhere:

    • filter log level: filter log level independantly of the browser
    • subscribe logs: listen logs to effectuate some specific job related logs
    • intercept logs: intercept logs to change the default behavior
    • redirect logs: redirect logs to one other logger engine
    • redefine logs: change log text like adding a prefix

    You have 4 LogLevel 'error','warn','info',and 'debug', as commonly managed by browsers. You can use ILog.level or ILog.on to customer log level and behavior.

    // filter log level globally, independantly of the browser
    import { log } from '@ceeblue/web-utils';
    log.level = LogLevel.WARN; // displays errors and warns

    // filter log level only for Player compoment
    player.log.level = false; // no logs at all for player compoment

    // Intercept and redirect all the logs to the console (default behavior)
    import { log } from '@ceeblue/web-utils';
    log.on = (level:LogLevel,args:unknown[]) => {
    console[level](...args.splice(0)); // args is empty after this call = final interception
    }

    // Intercept the logs from Player compoment and displays only WARN logs
    player.log.on = (level:LogLevel,args:unknown[]) => {
    if (level !== LogLevel.WARN) {
    args.length = 0; // args is empty after this call = final interception
    }
    }

    // Subscribe and redirect all the logs to a file logger
    import { log } from '@ceeblue/web-utils';
    log.on = (level:LogLevel,args:unknown[]) => {
    fileLogger[level](...args); // args stays unchanged to let's continue the default behavior
    }

    // Redefine the log to add some prefix indication
    class Player {
    connector = new Connector();
    constructor() {
    connector.log = this.log.bind(this,"Connector log:");
    }
    }
    interface ILog {
        level?: boolean | LogLevel;
        on: (level: LogLevel, args: unknown[]) => void;
        (...args: unknown[]): Log;
    }
    • Build a log

      Parameters

      • ...args: unknown[]

      Returns Log

    Index

    Properties

    Properties

    level?: boolean | LogLevel

    Change log level, default log level is LogLevel.INFO, Boolean can be user to lets pass all the logs with true or disables all the logs with false.

    To debug production code without modifying it you can use a special query parameter called !cb-override-log-level to override this configuration.

    on: (level: LogLevel, args: unknown[]) => void

    Intercept,redefine or redirect any log If you clear args you intercept the log and nothing happen more after this call.

    Type Declaration

      • (level: LogLevel, args: unknown[]): void
      • Parameters

        • level: LogLevel

          log level

        • args: unknown[]

          args

        Returns void