Забавные персонажи до и в конце журналов с помощью Google Cloud Winston Logging (Nodejs)

Я использую пакет google-cloud / logging-winston nodejs для ведения журнала, и я создал свой собственный форматировщик для вывода следующим образом:

const winston = require('winston');
const { LoggingWinston } = require('@google-cloud/logging-winston');
const { format } = winston;
const { combine, label, json, timestamp, printf, colorize, simple } = format;
const path = require('path');

const customFormats = (category) => combine(
    label({label: category}),
    colorize({all: true}),
    // simple()
    timestamp(),
    json(),
    printf((info) => `${info.timestamp} - [${info.label?`${info.label}`:"NO_LABEL"}] - [${info.level}] : ${info.message}`));

Он регистрирует, как и ожидалось, но при просмотре в облачной консоли Google перед и после сообщений журнала появляются забавные символы. Ниже приведены несколько примеров журнала:

2021-01-16T10:58:00.836Z - [DEFAULT] - [[32minfo[39m] : [32mValidating route @/bills/airtime/send[39m
2021-01-16T10:58:00.841Z - [AIRTIME] - [[31merror[39m] : [31mAirtime recharge error Low account balance[39m

Я не знаю, что они означают: [32 м, [31 м или [39 м], но они затрудняют чтение моих журналов.

См. также:  Как подсчитать конкретные термины в токенизированных предложениях с помощью pandas df
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. Joseph Utulu

    Эти символы называются escape-кодами ANSI или escape-последовательностями. Они используются для изменения способа отображения текста терминалами. Например, чтобы изменить цвет или выделить текст жирным шрифтом. Это может улучшить внешний вид сообщений на терминале, но затруднит обработку файлов журнала.

    Эти символы добавляются не при ведении журнала Google Cloud, а посредством приложения или программного обеспечения регистратора в вашей системе.

    escape-код ANSI

    Если вы изучите пример кода в своем вопросе, обратите внимание на label и colorize. Эти функции генерируют escape-коды.

    const customFormats = (category) => combine(
        label({label: category}),
        colorize({all: true}),
    

    Спасибо. Я закомментировал строку colorize ({all: true}), и эти символы исчезли. person Joseph Utulu; 16.01.2021

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: