https://github.com/nrchkb/logger
Unified Logger for Node-RED nodes (using debug)
https://github.com/nrchkb/logger
logger logging typescript
Last synced: 5 months ago
JSON representation
Unified Logger for Node-RED nodes (using debug)
- Host: GitHub
- URL: https://github.com/nrchkb/logger
- Owner: NRCHKB
- License: mit
- Created: 2021-01-22T23:43:29.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-04T21:50:48.000Z (almost 2 years ago)
- Last Synced: 2025-02-10T21:26:05.690Z (over 1 year ago)
- Topics: logger, logging, typescript
- Language: TypeScript
- Size: 696 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# @nrchkb/logger
Unified Logger for Node-RED nodes (using debug)

## 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)!
[](https://discord.gg/uvYac5u)
## Contact us
- [Our Discord server](https://discord.gg/uvYac5u) [](https://discord.gg/amwV5tq)
- [Mail directly to Shaquu](mailto:tadeusz@hey.com?subject=[@nrchkb/logger])