Я настроил анонимайзер для своего регистратора:
--> logback.xml
<?xml version = "1.0" encoding = "UTF-8"?>
<configuration>
<include resource = "org/springframework/boot/logging/logback/defaults.xml"/>
<appender name = "CUSTOM_CONSOLE" class = "ch.qos.logback.core.ConsoleAppender">
<filter class = "ch.qos.logback.classic.filter.ThresholdFilter">
<level>${CONSOLE_LOG_THRESHOLD}</level>
</filter>
<encoder class = "ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class = "util.CustomPatternLayout">
<anonymize>someFieldName</anonymizeJson>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>${CONSOLE_LOG_CHARSET}</charset>
</layout>
</encoder>
</appender>
<root>
<appender-ref ref = "CUSTOM_CONSOLE"/>
</root>
<logger name = "root" level = "INFO"/>
</configuration
Локально все работает нормально, но когда оно развертывается в Azure в контейнере Docker, похоже, он игнорирует мой файл журнала.
Я пытался использовать этот файл для конфигурации с именами: logback.xml, logback-spring.xml.
Я попытался указать конфигурацию для докер-контейнера
-Dlogback.configurationFile=src/main/resources/logback-spring.xml
и также с этим в application.yml
У меня есть агент Application Insights, возможно, он мешает моему ведению журнала?
logging:
config: classpath:logback.xml
Локально все в порядке, но на Azure возникли проблемы.
include необходим из-за наличия значений по умолчанию для env и т. д.
@VolodymyrBurmus, не могли бы вы сказать, какую версию приложения Insight вы используете?
@SureshChikkam Версия 3.4.16.
Можете ли вы понизить версию applicationinsights-agent.jar до 3.2.4 и обновить один раз.
пытался использовать этот файл для конфигурации с именами: logback.xml, logback-spring.xml. Я пытался указать конфигурацию для докер-контейнера
-Dlogback.configurationFile=src/main/resources/logback-spring.xml
, а также с этим в application.yml.
logback.xml
не включается в окончательный JAR-файл и указывает его местоположение извне при запуске приложения Spring Boot.
-Dlogback.configurationFile
. Это свойство сообщает Logback, где найти файл конфигурации.java -Dlogback.configurationFile=file:/full_path/logback.xml -jar app.jar
Разверните JAR Spring Boot без включенного в него файла logback.xml
. Убедитесь, что файл logback.xml
находится в том же каталоге, что и файл JAR на сервере Azure.
Добавьте зависимости:
pom.xml
добавьте следующие зависимости для Application Insights:<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-runtime-attach</artifactId>
<version>3.4.18</version>
</dependency>
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>applicationinsights-core</artifactId>
<version>3.4.18</version>
</dependency>
Конфигурация Логбек:
logback.xml
в своем проекте (если вы еще этого не сделали).Ссылка:
Если возможно, попробуйте использовать приведенную ниже версию для Java, если описанный выше подход не удовлетворен.
Я проверил, мой журнал регистрации включен в папку ресурсов. Также пытался запустить тот же контейнер локально без анализа приложений, все работало нормально. Поэтому проблема находится где-то между развертыванием и Azure.
Убедитесь, что файл конфигурации Logback включен в развернутый пакет. Иногда сценарии развертывания или файлы конфигурации могут случайно исключить определенные ресурсы.
в папке ресурсов просто поместите файл с именем
logback-spring.xml
, это все, что вам нужно. Часть<include
не нужна и, вероятно, именно она ломается во время начальной загрузки.