覆盖在我的登录中使用的Typesafe配置记录器

时间:2020-02-21 15:55:14

标签: scala akka logback typesafe-config refined

我的类型安全配置+登录配置+精炼类型+纯配置存在问题 当我的配置未通过验证时,我得到原始异常,而没有使用logback appender格式化

例如,我的登录看起来像 我该如何解决我的问题?

<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.

0 个答案:

没有答案