Как изменить цвет шрифта консоли node.js? - PullRequest
434 голосов
/ 20 марта 2012

Мне пришлось изменить цвет фона консоли на белый из-за проблем с глазами, но шрифт серого цвета, и это делает сообщения нечитаемыми. Как я могу это изменить?

Ответы [ 29 ]

1 голос
/ 03 октября 2018

Мне действительно понравился ответ @ Дэниела, но функции console.log {color} не работали так же, как обычный console.log.Я сделал несколько изменений, и теперь все параметры новых функций будут переданы в console.log (а также цветовые коды).

const _colors = {
    Reset : "\x1b[0m",
    Bright : "\x1b[1m",
    Dim : "\x1b[2m",
    Underscore : "\x1b[4m",
    Blink : "\x1b[5m",
    Reverse : "\x1b[7m",
    Hidden : "\x1b[8m",

    FgBlack : "\x1b[30m",
    FgRed : "\x1b[31m",
    FgGreen : "\x1b[32m",
    FgYellow : "\x1b[33m",
    FgBlue : "\x1b[34m",
    FgMagenta : "\x1b[35m",
    FgCyan : "\x1b[36m",
    FgWhite : "\x1b[37m",

    BgBlack : "\x1b[40m",
    BgRed : "\x1b[41m",
    BgGreen : "\x1b[42m",
    BgYellow : "\x1b[43m",
    BgBlue : "\x1b[44m",
    BgMagenta : "\x1b[45m",
    BgCyan : "\x1b[46m",
    BgWhite : "\x1b[47m",
};

const enableColorLogging = function(){
    Object.keys(_colors).forEach(key => {
        console['log' + key] = function(){
            return console.log(_colors[key], ...arguments, _colors.Reset);
        }
    });
}
1 голос
/ 19 июля 2018

logger / index.js

const colors = {
    Reset : "\x1b[0m",
    Bright : "\x1b[1m",
    Dim : "\x1b[2m",
    Underscore : "\x1b[4m",
    Blink : "\x1b[5m",
    Reverse : "\x1b[7m",
    Hidden : "\x1b[8m",

    FgBlack : "\x1b[30m",
    FgRed : "\x1b[31m",
    FgGreen : "\x1b[32m",
    FgYellow : "\x1b[33m",
    FgBlue : "\x1b[34m",
    FgMagenta : "\x1b[35m",
    FgCyan : "\x1b[36m",
    FgWhite : "\x1b[37m",

    BgBlack : "\x1b[40m",
    BgRed : "\x1b[41m",
    BgGreen : "\x1b[42m",
    BgYellow : "\x1b[43m",
    BgBlue : "\x1b[44m",
    BgMagenta : "\x1b[45m",
    BgCyan : "\x1b[46m",
    BgWhite : "\x1b[47m",
};

module.exports = () => {
    Object.keys(colors).forEach(key => {
        console['log' + key] = (strg) => {
            if(typeof strg === 'object') strg = JSON.stringify(strg, null, 4);
            return console.log(colors[key]+strg+'\x1b[0m');
        }
    });
}

в вашем app.js

require('./logger')();

, затем используйте его как:

console.logBgGreen(" grüner Hintergrund ")
1 голос
/ 03 августа 2014

Coolors

Это довольно хорошо для использования или расширения. Вы можете использовать просто:

var coolors = require('coolors');
console.log(coolors('My cool console log', 'red'));

Или с конфигом:

var coolors = require('coolors');
console.log(coolors('My cool console log', {
   text: 'yellow',
   background: 'red',
   bold: true,
   underline: true,
   inverse: true,
   strikethrough: true
}));

И, кажется, очень забавно расширить:

var coolors = require('coolors');
function rainbowLog(msg){
    var colorsText = coolors.availableStyles().text;
    var rainbowColors = colorsText.splice(3);
    var lengthRainbowColors = rainbowColors.length;
    var msgInLetters = msg.split('');
    var rainbowEndText = '';
    var i = 0;
    msgInLetters.forEach(function(letter){
        if(letter != ' '){
            if(i === lengthRainbowColors) i = 0;
            rainbowEndText += coolors(letter, rainbowColors[i]);
            i++;
        }else{
            rainbowEndText += ' ';
        }
    });
    return rainbowEndText;
}
coolors.addPlugin('rainbow', rainbowLog);
console.log(coolorsExtended('This its a creative example extending core with a cool rainbown style', 'rainbown'));

Просмотр модуля Coolors

1 голос
/ 08 ноября 2017

2017

простой способ, добавление временной метки к сообщению, вам не нужно менять код, используйте keep console.log ('msg') или console.err ('error')

var clc = require("cli-color");
var mapping = {
  log: clc.blue,
  warn: clc.yellow,
  error: clc.red
};

["log", "warn", "error"].forEach(function(method) {
  var oldMethod = console[method].bind(console);
  console[method] = function() {
    oldMethod.apply(
      console,
      [mapping[method](new Date().toISOString())]
      .concat(arguments)
    );
  };
});

enter image description here

1 голос
/ 31 мая 2016

узел-colorify

Предоставляет функции для печати текстов в цвете, а также для форматирования текста, например, жирным шрифтом, мерцанием и т. Д.

1 голос
/ 19 мая 2016

В Ubuntu вы можете просто использовать цветовые коды:

var sys = require('sys');
process.stdout.write("x1B[31m" + your_message_in_red + "\x1B[0m\r\n");
0 голосов
/ 22 июня 2018
var to_rgb = function (_text, _r, _g, _b) {
    return "\x1b[38;2;" + _r + ";" + _g + ";" + _b + "m" + _text + "\x1b[0m";
};

этот код помогает установить цвет переднего плана: \ x1b [38; 2; R; G; Bm

это может не работать где-то

0 голосов
/ 12 марта 2018

Это подход для Windows 10 (может быть, для 7), и он меняет цветовую схему (тему) для cmd, самого терминала npm, а не только вывод консоли для конкретного приложения.

Я нашел работающий плагин Windows - Color Tool , который предположительно разработан под зонтиком Windows. Описание доступно по ссылке .

Я добавил каталог colortool в переменную пути системного окружения, и теперь он доступен всякий раз, когда я запускаю терминал (командная строка NodeJs, cmd).

0 голосов
/ 11 июля 2015

Если вы используете Windows CMD, перейдите к терминалу Properties / Colors (CMD вверху слева) и затем переопределите значение RGB оскорбительного цвета. В моем случае я считаю, что это пятый цветной квадрат слева, который я изменил (222,222,222). Неважно, отображает ли выбранная в данный момент радиокнопка «Текст на экране» или «Фон экрана», поскольку вы просто переопределяете этот определенный «системный» цвет. После того, как вы изменили цвет, не забудьте выбрать предпочтительный цвет фона или текста, прежде чем нажимать ОК.

После изменения все эти красноватые сообщения от Узла (Ember в моем случае) хорошо видны.

...