logx 📝
Simple logger module
var log = new Logx({
level: 'debug',
color: true,
});
log.error('System', 'Component', 'Message')
2017-11-30 20:03:35 [System] [Component] Message
Config
Option | Description | Default |
---|
colors | Should use colors | false |
level | Log level. Look levels | info |
date | Should every message line prefixed with date or not | true |
levels | Levels description and priorities. Index in table is priority, and value is a array where 1st element is name of level and second is a coloring function. | [
['silly', chalk.white],
['debug', chalk.green],
['info', chalk.magenta],
['warning', chalk.yellow],
['error', chalk.red],
['special', chalk.cyan.underline],
['critical', chalk.red.underline.bold],
]
|
json
|
json.maxLength | Max length of lines in json message. JSON will be stringified counting this option. | 64 |
json.maxRowLength | Max line length in json message, if symbols count exceeded it will be striped by ... | process.stdout.columns - 5 |
json.defaultColor | Default coloring function of messages in json | chalk.rgb(167, 101, 121) |
Levels
Levels are prioritized entities to separate log messages by semantic. You can cover yout code with logging different depth and if you want to run your app on production mode you will not see debug log level. These are default log levels of LogX:
silly
: chalk.whitedebug
: chalk.greeninfo
: chalk.magentawarning
: chalk.yellowerror
: chalk.redspecial
: chalk.cyan.underlinecritical
: chalk.red.underline.bold
json
Every level logging function has .json
property.
logger.warning.json('API', 'Payments', 'v3.2', 'Health check failed', {"reward":128.23,"instances":2,"availableApis":[{"host":"127.0.0.1","port":8888},{"host":"127.0.0.1","port":8889}],"healthCheck":false})
Will produce:
2018-09-01 10:58:16 [API] [Payments] (v3.2) Health check failed
2018-09-01 10:58:16 ───┬───────────────────────────────────────────────────────────────────
2018-09-01 10:58:16 0 │ {
2018-09-01 10:58:16 1 │ "reward": 128.23,
2018-09-01 10:58:16 2 │ "instances": 2,
2018-09-01 10:58:16 3 │ "availableApis": [
2018-09-01 10:58:16 4 │ { "host": "127.0.0.1", "port": 8888 },
2018-09-01 10:58:16 5 │ { "host": "127.0.0.1", "port": 8889 }
2018-09-01 10:58:16 6 │ ],
2018-09-01 10:58:16 7 │ "healthCheck": false
2018-09-01 10:58:16 8 │ }
2018-09-01 10:58:16 ───┴───────────────────────────────────────────────────────────────────