mirror of
https://github.com/verdaccio/verdaccio.git
synced 2025-02-21 07:29:37 +01:00
refactor: add levels file
This commit is contained in:
parent
3beb57f7f6
commit
263f051507
@ -1,42 +1,19 @@
|
||||
/* eslint-disable */
|
||||
|
||||
import { isObject, pad } from './utils';
|
||||
import { pad } from './utils';
|
||||
|
||||
import { fillInMsgTemplate } from './logger/parser';
|
||||
import {calculateLevel, levels, subsystems} from "./logger/levels";
|
||||
|
||||
const cluster = require('cluster');
|
||||
const Logger = require('bunyan');
|
||||
const Error = require('http-errors');
|
||||
const Stream = require('stream');
|
||||
const { red, yellow, cyan, magenta, green, white, black, blue } = require('kleur');
|
||||
const { red, yellow, cyan, magenta, green, white } = require('kleur');
|
||||
const pkgJSON = require('../../package.json');
|
||||
const _ = require('lodash');
|
||||
const dayjs = require('dayjs');
|
||||
|
||||
/**
|
||||
* Match the level based on buyan severity scale
|
||||
* @param {*} x severity level
|
||||
* @return {String} security level
|
||||
*/
|
||||
function calculateLevel(x) {
|
||||
switch (true) {
|
||||
case x < 15:
|
||||
return 'trace';
|
||||
case x < 25:
|
||||
return 'debug';
|
||||
case x < 35:
|
||||
return 'info';
|
||||
case x == 35:
|
||||
return 'http';
|
||||
case x < 45:
|
||||
return 'warn';
|
||||
case x < 55:
|
||||
return 'error';
|
||||
default:
|
||||
return 'fatal';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A RotatingFileStream that modifes the message first
|
||||
*/
|
||||
@ -161,17 +138,6 @@ function setup(logs) {
|
||||
// this part was converted to coffee-script and back again over the years,
|
||||
// so it might look weird
|
||||
|
||||
// level to color
|
||||
const levels = {
|
||||
fatal: red,
|
||||
error: red,
|
||||
warn: yellow,
|
||||
http: magenta,
|
||||
info: cyan,
|
||||
debug: green,
|
||||
trace: white,
|
||||
};
|
||||
|
||||
let max = 0;
|
||||
for (const l in levels) {
|
||||
if (Object.prototype.hasOwnProperty.call(levels, l)) {
|
||||
@ -193,20 +159,7 @@ for (const l in levels) {
|
||||
}
|
||||
const finalMessage = fillInMsgTemplate(msg, obj, colors);
|
||||
|
||||
const subsystems = [
|
||||
{
|
||||
in: green('<--'),
|
||||
out: yellow('-->'),
|
||||
fs: black('-=-'),
|
||||
default: blue('---'),
|
||||
},
|
||||
{
|
||||
in: '<--',
|
||||
out: '-->',
|
||||
fs: '-=-',
|
||||
default: '---',
|
||||
},
|
||||
];
|
||||
|
||||
|
||||
const sub = subsystems[colors ? 0 : 1][obj.sub] || subsystems[+!colors].default;
|
||||
if (colors) {
|
||||
|
51
src/lib/logger/levels.ts
Normal file
51
src/lib/logger/levels.ts
Normal file
@ -0,0 +1,51 @@
|
||||
import { yellow, green, black, blue, red, magenta, cyan, white } from 'kleur';
|
||||
|
||||
// level to color
|
||||
export const levels = {
|
||||
fatal: red,
|
||||
error: red,
|
||||
warn: yellow,
|
||||
http: magenta,
|
||||
info: cyan,
|
||||
debug: green,
|
||||
trace: white,
|
||||
};
|
||||
|
||||
/**
|
||||
* Match the level based on buyan severity scale
|
||||
* @param {*} x severity level
|
||||
* @return {String} security level
|
||||
*/
|
||||
export function calculateLevel(x) {
|
||||
switch (true) {
|
||||
case x < 15:
|
||||
return 'trace';
|
||||
case x < 25:
|
||||
return 'debug';
|
||||
case x < 35:
|
||||
return 'info';
|
||||
case x == 35:
|
||||
return 'http';
|
||||
case x < 45:
|
||||
return 'warn';
|
||||
case x < 55:
|
||||
return 'error';
|
||||
default:
|
||||
return 'fatal';
|
||||
}
|
||||
}
|
||||
|
||||
export const subsystems = [
|
||||
{
|
||||
in: green('<--'),
|
||||
out: yellow('-->'),
|
||||
fs: black('-=-'),
|
||||
default: blue('---'),
|
||||
},
|
||||
{
|
||||
in: '<--',
|
||||
out: '-->',
|
||||
fs: '-=-',
|
||||
default: '---',
|
||||
},
|
||||
];
|
@ -8,7 +8,13 @@ jest.mock('kleur', () => {
|
||||
// we emulate colors with this pattern color[msg]
|
||||
return {
|
||||
green: r => `g[${r}]`,
|
||||
red: r => `r[${r}]`
|
||||
yellow: r => `y[${r}]`,
|
||||
black: r => `b[${r}]`,
|
||||
blue: r => `bu[${r}]`,
|
||||
red: r => `r[${r}]`,
|
||||
cyan: r => `c[${r}]`,
|
||||
magenta: r => `m[${r}]`,
|
||||
white: r => `w[${r}]`,
|
||||
}
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user