Переопределить безопасный журнал конфигурации для использования в моем журнале регистрации
У меня есть проблема в моей конфигурации typeafe + logback config + refined types + pure config.Когда моя конфигурация не проверена, я получаю необработанное исключение без использования форматирования приложения logback
например, мой логбэк выглядит так: Как я могу решить свою проблему?
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<if condition='property("ENVIRONMENT").equalsIgnoreCase("production")'>
<then>
<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
<providers>
<timestamp/>
<version/>
<mdc/>
<pattern>
<pattern>
{
"logger": "%logger",
"level": "%level",
"severity": "%level",
"thread": "%thread",
"application": "argos-scheduler",
"environment": "${ENVIRONMENT}",
"message": "%.-5000message"
}
</pattern>
</pattern>
<stackTrace>
<throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter">
<maxLength>2048</maxLength>
<exclude>sun\.reflect\..*\.invoke.*</exclude>
<exclude>net\.sf\.cglib\.proxy\.MethodProxy\.invoke</exclude>
</throwableConverter>
</stackTrace>
</providers>
</encoder>
</then>
<else>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level [%thread] %logger{36} - %msg - mdc[ %X ]%n%ex%n</pattern>
</encoder>
</else>
</if>
</appender>
<appender name="ASYNC_STDOUT" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="STDOUT"/>
</appender>
<root level="INFO">
<appender-ref ref="ASYNC_STDOUT"/>
</root>
и когда у меня недопустимая конфигурация, есть неформатированная ошибка, например
[info] 18:39:29.220 INFO [main] kamon.prometheus.PrometheusReporter - Started the embedded
HTTP server on http://0.0.0.0:9099 - mdc[ ]
[info] 18:39:29.548 INFO [Prometheus Reporter] kamon.prometheus.PrometheusReporter -
Started the embedded HTTP server on http://0.0.0.0:9099 - mdc[ ]
[error] pureconfig.error.ConfigReaderException: Cannot convert configuration to a
com.scheduler.SchedulerConfig. Failures are:
[error] at 'postgres.max-pool-size':
[error] - (jar:file:/tmp/sbt_9a1143b0/job-8/target/e4302064/14e353f3/scheduler_2.12-
1.0.jar!/reference.conf:63) Expected type NUMBER. Found STRING instead.