[2.4] How to properly configure logback using environment variables?

2,867 views
Skip to first unread message

Daniel Lindberg

unread,
Jul 19, 2015, 6:31:28 AM7/19/15
to play-fr...@googlegroups.com
I've read the section here: https://www.playframework.com/documentation/2.0/SettingsLogger.

Logback homepage says: Properties are looked up in the the local scope first, in the context scope second, in the system properties scope third, and in the OS environment last.

But I can't understand how to set application.home as an environment variable to be picked up by logback? 
Just doing the usual 'export' does not seem to do the trick, I still get openFile(application.home_IS_UNDEFINED/logs/application.log,true)

What am I doing wrong?



<!--
  ~ Copyright (C) 2009-2015 Typesafe Inc. <http://www.typesafe.com>
  -->
<!-- The default logback configuration that Play uses if no other configuration is provided -->
<configuration>


    <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" />


    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${application.home}/logs/application.log</file>
        <encoder>
            <pattern>%date [%level] from %logger in %thread - %message%n%xException</pattern>
        </encoder>
    </appender>


    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%coloredLevel %logger{15} - %message%n%xException{10}</pattern>
        </encoder>
    </appender>


    <appender name="ASYNCFILE" class="ch.qos.logback.classic.AsyncAppender">
        <appender-ref ref="FILE" />
    </appender>


    <appender name="ASYNCSTDOUT" class="ch.qos.logback.classic.AsyncAppender">
        <appender-ref ref="STDOUT" />
    </appender>


    <logger name="play" level="INFO" />
    <logger name="application" level="DEBUG" />


    <!-- Off these ones as they are annoying, and anyway we manage configuration ourself -->
    <logger name="com.avaje.ebean.config.PropertyMapLoader" level="OFF" />
    <logger name="com.avaje.ebeaninternal.server.core.XmlConfigLoader" level="OFF" />
    <logger name="com.avaje.ebeaninternal.server.lib.BackgroundThread" level="OFF" />
    <logger name="com.gargoylesoftware.htmlunit.javascript" level="OFF" />


    <root level="WARN">
        <appender-ref ref="ASYNCFILE" />
        <appender-ref ref="ASYNCSTDOUT" />
    </root>


</configuration>

Reply all
Reply to author
Forward
0 new messages