Eclipseから spring-boot なアプリケーションを起動した際にハマったのでメモ。

結論

LOGGING_CONFIG で明示的に指定する。

経緯

logback-spring.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE logback>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />

    <appender name="CONSOLE" class="ch.qos.logback.core.ConsleAppender">
        <!-- 省略 -->
    </appender>

    <!-- 省略 -->

    <springProfile name="debug">
        <root level="DEBUG">
            <appender-ref ref="CONSOLE" />
        </root>
    </springProfile>

    <!-- 省略 -->

</configuration>

のように書いてあると、コマンドラインから java -jar ... --spring.profiles.active=debug とかで起動すれば、コンソールに DEBUG レベルのログが出力されます。

一方、Eclipseから Java アプリケーション として起動すると、コンソールに DEBUG レベルのログは出力されませんでした。

いろいろ試した結果、実行の構成環境 で、以下のように環境変数を設定することでログが出力されるようになりました。

変数 備考
LOGGING_CONFIG src/main/resources/logback-spring.xml プロジェクトルートからの相対パス
SPRING_PROFILES_ACTIVE debug 環境変数以外の方法で指定しても良い
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.