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 | 環境変数以外の方法で指定しても良い |