Estoy usando el registrador Winston 3 y quiero personalizar los colores. Estoy usando el siguiente código:
winston.addColors( { info: 'green', error: 'red', warn: 'yellow', debug: 'cyan' }); Cuando uso otros colores como brown , pink o códigos hexadecimales como #2E6E3E , etc., recibo un error:
.../node_modules/winston/lib/winston/logger.js:307 throw ex; ^ TypeError: colors[Colorizer.allColors[lookup]] is not a function at Colorizer.colorize (.../node_modules/logform/colorize.js:73:49)¿Hay una lista de colores permitidos en Winston? Si es así, proporcione esa lista.
Además de los niveles predefinidos de npm, syslog y cli disponibles en winston, también puede optar por definir los suyos propios:
const myCustomLevels = { levels: { foo: 0, bar: 1, baz: 2, foobar: 3 }, colors: { foo: 'blue', bar: 'green', baz: 'yellow', foobar: 'red' } }; const customLevelLogger = winston.createLogger({ levels: myCustomLevels.levels }); customLevelLogger.foobar('some foobar level-ed message');Aunque hay una ligera repetición en esta estructura de datos, permite una encapsulación simple si no desea tener colores. Si desea tener colores, además de pasar los niveles al registrador, debe informar a winston sobre ellos:
winston.addColors(myCustomLevels.colors);Esto permite a los registradores que usan el formateador colorize para colorear y diseñar apropiadamente la salida de los niveles personalizados.
Además, también puede cambiar el color de fondo y el estilo de fuente. Por ejemplo,
baz: 'italic yellow', foobar: 'bold red cyanBG'Las opciones posibles se encuentran a continuación.
Estilos de fuente: negrita, tenue, cursiva, subrayado, inverso, oculto, tachado.
Colores de primer plano de fuente: negro, rojo, verde, amarillo, azul, magenta,
cian, blanco, gris, gris.
Colores de fondo: blackBG, redBG, greenBG, yellowBG, blueBG
magentaBG, cianBG, blancoBG
Estas son las únicas opciones posibles para los colores proporcionados por winston. Consulte la documentación de winston.