padrão de destaque Log4j2 não funciona no editor de texto?

Siddharth Trikha:

Eu estou usando log4j2 para a exploração madeireira minha aplicação no servidor JBoss Application Server (Jboss 8).

Eu quero uma cor personalizada de codificação para os meus registros que está funcionando perfeitamente bem quando vejo os logs no meu console / terminal.

Segue-se o padrão:

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}"/>


                         .....

No entanto, quando tento abrir meu arquivo de log no editor de texto como vi ou gedit, recebo caracteres desconhecidos, como:

[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

Eu sei que o código de cores não iria trabalhar em um editor de texto, mas como não têm caracteres desconhecidos em meu editor e também ser capaz de ver a cor de codificação no console .

Dovmo:

Esses personagens que você está vendo são chamados códigos de cores ANSI . A maioria dos terminais e alguns espectadores texto traduz automaticamente aqueles corretamente nos respectivos cores.

Eu normalmente visto estes códigos só utilizados para

  1. Console / logs terminais
  2. Digitalização de registros que serão vistas com more <filename>ouless -r <filename>
  3. Leitura e análise de logs com alguma outra ferramenta amigável-ANSI ou analisador de log

Com registros de produção e de servidor real, eu vi que essas cores normalmente não são utilizados. Tendo esses códigos de escape pode torná-lo um pouco mais difícil para parse para pesquisas de log, é menos "standard", ocupam espaço extra, e não acrescentam nada realmente para o conteúdo propriamente dito log.

Se você realmente quer estas cores para ser capaz de ver os logs, mas não queremos que eles nos logs do servidor que são distribuídos ou arquivados, eu configurar dois registros na sua log4jconfiguração; um é um log console / terminal / pretty-espectador e é para fins de arquivamento e busca.

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=209247&siteId=1
Recomendado
Clasificación