Have ideas to improve npm?Join in the discussion! »

    @nrchkb/logger
    TypeScript icon, indicating that this package has built-in type declarations

    1.3.3 • Public • Published

    @nrchkb/logger

    Unified Logger for Node-RED nodes (using debug)

    @nrchkb/logger

    Install

    yarn add @nrchkb/logger

    How to use

    There are 3 types of messages:

    • Debug - for standard debug purpose.
    • Error - for printing errors, this level is enabled by default.
    • Trace - for printing detailed messaged.

    Code

    import {logger} from "@nrchkb/logger";
    
    const log = logger('YOUR_NODE_SHORT_NAME')
    
    log.debug('Debug message')
    log.error('Error message')
    log.trace('Trace message')

    Start you app in with DEBUG env

    DEBUG=YOUR_BASE_NAMESPACE* yourApp.js

    If you want you can pass addional parameters to logger method to make its log message more detailed

    // Having Node-RED node in context, node name is TestHTTPNode, id is 1234567890
    let log
    log = logger('BASE_NAMESPACE', 'OUT', 'HTTP')
    //or
    log = logger('BASE_NAMESPACE', 'OUT', this.name, this)
    • First argument is namespace prefix used in log message BASE_NAMESPACE:OUT Some Message
    • Second argument is suffix namespace used in log message BASE_NAMESPACE:OUT Some Message
    • Third is a message prefix BASE_NAMESPACE:OUT [HTTP] Some Message
    • Forth, if provided will override message prefix with node name and id BASE_NAMESPACE:OUT [TestHTTPNode:1234567890] Some Message

    Customization

    Parameters

    let LOGGER_DEBUG_COLOR = process.env.LOGGER_DEBUG_COLOR || '4'
    let LOGGER_ERROR_COLOR = process.env.LOGGER_ERROR_COLOR || '9'
    let LOGGER_TRACE_COLOR = process.env.LOGGER_TRACE_COLOR || '15'
    
    let LOGGER_DEBUG_ENABLED =
            process.env.LOGGER_DEBUG_ENABLED &&
            process.env.LOGGER_DEBUG_ENABLED === 'true'
    let LOGGER_ERROR_ENABLED =
            (process.env.LOGGER_ERROR_ENABLED &&
                    process.env.LOGGER_ERROR_ENABLED === 'true') ||
            true
    let LOGGER_TRACE_ENABLED =
            process.env.LOGGER_TRACE_ENABLED &&
            process.env.LOGGER_TRACE_ENABLED === 'true'
    
    let LOGGER_TIMESTAMP_ENABLED = process.env.LOGGER_TIMESTAMP_ENABLED || false

    Colors are defined via numbers. Depending on which device you are running your app different range of colors will be available. Please refer to https://jonasjacek.github.io/colors/ for Xterm color list

    All params listed above can be either changed with env variable or setup method

    env parameter

    For example to change debug logs color to pin

    LOGGER_DEBUG_COLOR=13 DEBUG=MYAPP* yourApp.js

    setup method

    All params are optional, so you can choose which you want to change

    import {loggerSetup} from "@nrchkb/logger";
    
    loggerSetup({
        debugColor: '9',
        debugEnabled: false,
        errorColor: '10',
        errorEnabled: false,
        traceColor: '11',
        traceEnabled: false
    })

    Do you need help with your setup?

    Join us on our Discord server (click on the logo below)!

    NRCHKB Discord

    Contact us

    Install

    npm i @nrchkb/logger

    DownloadsWeekly Downloads

    481

    Version

    1.3.3

    License

    Apache-2.0

    Unpacked Size

    19.8 kB

    Total Files

    12

    Last publish

    Collaborators

    • avatar