У нас есть несколько сервисов весенней загрузки, и для регистрации мы используем log4j2.xml. Наш log4j2.xml содержит как консольный, так и файловый аппендины, и мы разворачиваем эти сервисы на прокси-серверах HA на AWS, которые в основном являются машинами на основе Linux через образы докеров.
Проблемы, с которыми я сталкиваюсь, заключаются в том, что для некоторых служб набор символов файла журнала создается в двоичном формате, и генерируется специальный символ, из-за которого мы не можем отправить наши журналы в спленк. Ниже указан мой log4j2.xml, в котором я специально указал формат файла UTF-8, но все же он создает двоичный файл.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="info" monitorInterval="60">
<Properties>
<Property name="log-path">${sys:APP_LOG_PATH}</Property>
<Property name="appName">${sys:SPRING_APPLICATION_NAME}</Property>
<Property name="envName">${sys:SPRING_PROFILES_ACTIVE}</Property>
</Properties>
<Appenders>
<Console name="Console-Appender" target="SYSTEM_OUT">
<PatternLayout>
<pattern>
%d{yyyy-MM-dd HH:mm:ss.SSS}{GMT} [%-5level] [%t] %c{1} - %msg%n
</pattern>
<charset>US-ASCII</charset>
</PatternLayout>
</Console>
<File name="File" fileName="${log-path}/${appName}-${envName}--${date:yyyy-MM-dd-HH-mm-ss-SSS}.log" append="true">
<PatternLayout pattern="%d{yyyy-MMM-dd HH:mm:ss a} [%t] %-5level %logger{36} - %msg%n" charset="UTF-8" />
</File>
</Appenders>
<Loggers>
<Root level="INFO" additivity="false">
<AppenderRef ref="Console-Appender" level="WARN" />
<AppenderRef ref="File" level="INFO" />
</Root>
<Logger name="com.tmo.eus" level="INFO" additivity="false">
<Appender-ref ref="Console-Appender" />
<AppenderRef ref="File" />
</Logger>
</Loggers>
</Configuration>
Дайте мне знать, если есть другой способ явно указать формат файла, чтобы он следовал тому же набору символов.