小编Ian*_*hon的帖子

如何从typesafe配置配置系统属性或logback配置变量?

我的logback.xml配置文件中有默认值的变量,我希望能够从我的typesafe配置application.conf文件中选择性地设置这些变量.

我正在使用one-jar部署应用程序,并且application.conf可部署jar中打包的文件包含默认值.我传递-Dconfig.file=foo.conf执行以提供特定于服务器的配置文件的路径.

现在我也可以传递-Dlog.level和其他变量来覆盖我的默认值logback.xml,我也必须传递-Dfile.encoding=UTF-8命令行.我正在寻找一种方法,能够在typesafe配置中而不是在命令行上指定这些属性.感觉应该有办法做到这一点,但我找不到神奇的话语.

logback.xml:

<configuration>
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path:-logs/}/${log.file:-myLog.log}</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>

            <!-- keep 15 days' worth of history -->
            <maxHistory>${log.history.days:-15}</maxHistory>
        </rollingPolicy>

        <encoder>
            <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <root level="${log.level:-INFO}">
        <appender-ref ref="FILE" />
    </root>
</configuration>
Run Code Online (Sandbox Code Playgroud)

application.conf(bundled):

akka {
    log-config-on-start = false
    event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
}
Run Code Online (Sandbox Code Playgroud)

示例服务器特定的app.conf:

include "/application.conf"

akka.log-config-on-start = true

log.level = WARN // this is what I'd …
Run Code Online (Sandbox Code Playgroud)

configuration scala logback akka typesafe-stack

17
推荐指数
3
解决办法
7953
查看次数

标签 统计

akka ×1

configuration ×1

logback ×1

scala ×1

typesafe-stack ×1