Шаблон подсветки Log4j2 не работает в текстовом редакторе? - PullRequest
0 голосов
/ 13 декабря 2018

Я использую log4j2 для регистрации моего приложения на сервере Wildfly (Jboss 8).

Мне нужна индивидуальная цветовая кодировка для моих журналов, которая прекрасно работает, когда я вижу журналы на моей консоли / терминале.

Ниже приведен шаблон:

log4j.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="WARN">
    <Appenders>
    <Routing name="Routing">
      <Routes pattern="$${ctx:logFileName}">

        <Route>

         <RollingFile name="RollingFile" fileName="standalone/log/platform-${ctx:logFileName}.log" filePattern="standalone/log/platform-${ctx:logFileName}-%d{MM-dd-yyyy}.log.gz" append="true">

            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{id}] %style{[%X{logFileName}}{magenta}] [%t] %highlight{[%-5level]}{FATAL=red blink, ERROR=red, WARN=yellow bold, INFO=green, DEBUG=green bold, TRACE=magenta} %style{%c{1}:%L}{cyan} - %highlight{%msg%n%throwable}{INFO=white,TRACE=magenta}"/>


                         .....

Однако, когда я пытаюсь открыть свой лог-файл в текстовом редакторе, например, vi или gedit, я получаю неизвестноетакие символы, как:

[32m15:56:30.536 DEBUG com.syn.test.Test.main() @15 - this is debug message
[m[32m15:56:30.539 DEBUG com.syn.test.Test.main() @19 - this is debug messge 
[m

Я знаю, что цветовое кодирование не будет работать в текстовом редакторе, но как не иметь неизвестных символов в моем редакторе, а также иметь возможность видеть цветовое кодирование в консоли.

1 Ответ

0 голосов
/ 18 декабря 2018

Те символы, которые вы видите, называются Цветовые коды ANSI .Большинство терминалов и некоторые программы просмотра текста автоматически переводят их в соответствующие цвета.

Я обычно видел эти коды, используемые только для

  1. Консоль / журналы терминала
  2. Сканирование журналов, которые будут просматриваться с помощью more <filename> или less -r <filename>
  3. Чтение и анализ журналов с помощью другого ANSI-дружественного инструмента или анализатора журналов

С производственными и реальными журналами сервера,Я видел, что эти цвета обычно не используются.Наличие этих escape-кодов может несколько усложнить синтаксический анализ при поиске в журнале, сделать его менее «стандартным», занять дополнительное место и ничего не добавлять на самом деле к содержимому журнала.

Если вы действительно хотитеэти цвета, чтобы можно было просматривать журналы, но они не нужны в журналах сервера, которые распространяются или архивируются, я бы настроил два журнала в вашей конфигурации log4j;один - журнал консоли / терминала / pretty-viewer, другой - для архивации и поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...