При использовании переменных окружения (оболочки) они добавляются и отправляются через интеграцию обратного входа в систему.
Однако существует большая оговорка, они не интерполируются.
SENTRY_DSN=https://xxxxxxxx@sentry.io/xxxxxx
SENTRY_TAGS=app:MyApplication,host:$HOSTNAME,project:${CI_PROJECT_NAME},branch:${CI_COMMIT_REF_NAME}
SENTRY_ENVIRONMENT=${CI_COMMIT_REF_NAME}
Это происходит, даже если эти переменные имеют значение, оно просто не будет заменено.
Ни $HOSTNAME
, ни ${CI_COMMIT_REF_NAME}
не будут разрешены / заменены. Это приведет к тому, что строка будет просто добавлена дословно и отправлена сторожу, как видно на скриншоте:
logback-spring. xml :
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="Sentry" class="io.sentry.logback.SentryAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
</appender>
<root level="INFO">
<!-- Log both to console(collected by SumoLogic and Cloudwatch) and Sentry -->
<appender-ref ref="CONSOLE"/>
<appender-ref ref="Sentry"/>
</root>
</configuration>
В этой статье объясняется, как использовать интеграцию logback, но нет упоминания о SENTRY_TAGS или других переменных https://blog.sentry.io/2016/01/28/capturing-java-exceptions
Существует аналогичное вопрос здесь: Установка переменных среды Sentry динамически для входа в систему. xml Sentry appender