Я использую 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
Я знаю, что цветовое кодирование не будет работать в текстовом редакторе, но как не иметь неизвестных символов в моем редакторе, а также иметь возможность видеть цветовое кодирование в консоли.