UNPKG

@nrchkb/logger

Version:

Unified Logger for Node-RED nodes (using debug)

116 lines (80 loc) 3.31 kB
# @nrchkb/logger Unified Logger for Node-RED nodes (using debug) ![@nrchkb/logger](https://user-images.githubusercontent.com/2881159/106205731-3f163580-61bf-11eb-8c76-f0ffe9e88a53.png) ## 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 ```typescript 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 ```bash DEBUG=YOUR_BASE_NAMESPACE* yourApp.js ``` If you want you can pass addional parameters to logger method to make its log message more detailed ```typescript // 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 ```typescript 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 ```bash LOGGER_DEBUG_COLOR=13 DEBUG=MYAPP* yourApp.js ``` ### setup method All params are optional, so you can choose which you want to change ```typescript 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](https://discordapp.com/api/guilds/586065987267330068/widget.png?style=banner2)](https://discord.gg/uvYac5u) ## Contact us - [Our Discord server](https://discord.gg/uvYac5u) [![NRCHKB Discord](https://img.shields.io/discord/586065987267330068.svg?label=Discord)](https://discord.gg/amwV5tq) - [Mail directly to Shaquu](mailto:tadeusz@hey.com?subject=[@nrchkb/logger])