Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Simple colored logger module with levels of logging and semantic output.
const logger = new Logiks({
level: 'debug',
colors: true,
});
logger.error('System', 'Component', 'Message')
> 2017-11-30 20:03:35 [System] [Component] Message
Logger can take up to 4 different positional arguments-groupings:
logger.error(
system: string,
component: string',
subCategory: string,
message: string',
)
Note that message argument will appear anyway and if n
th argument missed it means that n-1
th argu,ent is message argument. Let assume we have code like bellow:
logger.special('Payments started');
logger.info('API', 'Payments', 'Performing payments');
/* ...*/
const response = {status: '200', confirmationHash:'d8e8fca2dc0f896fd7cb4cb'};
logger.info.json('API', 'Payments', 'v3.2', 'Payments was performed', response);
The output will be:
2018-09-02 02:55:27 Payments started!
2018-09-02 02:01:12 [API] [Payments] Performing payments
2018-09-02 02:01:39 [API] [Payments] (v3.2) Payments was performed
2018-09-02 02:01:39 ───┬────────────────────────────────────────────────────────────────────────
2018-09-02 02:01:39 0 │ {
2018-09-02 02:01:39 1 │ "status": "200",
2018-09-02 02:01:39 2 │ "confirmationHash": "d8e8fca2dc0f896fd7cb4cb"
2018-09-02 02:01:39 3 │ }
2018-09-02 02:01:39 ───┴────────────────────────────────────────────────────────────────────────
You can create logger instance already with grouping curried with:
.withSystem
, .withComponent
and .withSubcat
.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], ] |
GroupsAll is null by default | ||
system | ||
component (requires system>/td>
| ||
subCat (requires component> | ||
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 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 Logiks:
silly
: chalk.whitedebug
: chalk.greeninfo
: chalk.magentawarning
: chalk.yellowerror
: chalk.redspecial
: chalk.cyan.underlinecritical
: chalk.red.underline.boldEvery 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 ───┴───────────────────────────────────────────────────────────────────
FAQs
Nodejs logger
The npm package logiks receives a total of 3 weekly downloads. As such, logiks popularity was classified as not popular.
We found that logiks demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.