Skip to content

NRCHKB/logger

Folders and files

NameName
Last commit message
Last commit date
Jul 4, 2024
Mar 4, 2021
Jan 23, 2021
Jun 20, 2024
Mar 4, 2021
Feb 13, 2021
Jan 23, 2021
Mar 20, 2023
Jul 4, 2024
Jul 4, 2024
Jun 20, 2024

Repository files navigation

@nrchkb/logger

Unified Logger for Node-RED nodes (using debug)

@nrchkb/logger

Install

npm i -d @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

About

Unified Logger for Node-RED nodes (using debug)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published