LoginSignup
1
1

More than 5 years have passed since last update.

環境構築 010 Spring Boot 初期セットアップ 設定ファイル(properties/logback)切り替え

Posted at

1. 概要

実行環境用と開発環境用に、application.properties ファイルと logbackファイルを切り替える
実行環境では、ログレベル info 以上、開発環境では、ログレベル debug 以上のログ出力がされるように設定

2. application.properties (実行環境用/開発環境用)の作成

2.1. コンポーネントの構成パッケージを作成

層名 コンポーネント名 役割
ドメイン層 Model アプリケーションで扱われるモデル
Repository ModelのCRUD操作を行う
Service 業務ロジックを扱う、トランザクション境界
アプリケーション層 Controller 画面遷移や入出力のフォーマットを制御
View(HTML) ユーザインタフェースを提供

boot-setup-100.PNG

2.2. properties ファイル作成・設定

『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック

boot-setup-101.PNG

新規ファイル画面で、ファイル名に、application-product.properties を入力、「完了」をクリック
同様の手順で、application-develop.propertiesも作成

boot-setup-102.PNG

設定項目 application-product application-develop
spring.datasource.driver-class-name MySQLのドライバ設定 com.mysql.jdbc.Driver net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url 接続用URL jdbc:mysql://[接続先サーバー]:[ポート番号]/[データベース名]?serverTimezone=UTC jdbc:mysql://[接続先サーバー]:[ポート番号]/[データベース名]?serverTimezone=UTC
spring.datasource.username 接続用ユーザ 接続ユーザ名 接続ユーザ名
spring.datasource.password 接続用パスワード 接続ユーザ名のパスワード 接続ユーザ名のパスワード
spring.thymeleaf.cache thymleafキャッシュ有無 true false

boot-setup-103.PNG

boot-setup-104.PNG

application.properties は使用しないため、全行コメントアウト

boot-setup-105.PNG

2.3. build.gradle ファイル設定

build.gradle ファイルを開き、bootRun 実行時のJava引数に、『spring.profiles.active=product』を追加
test 実行時のJava引数にも、同様に追加

boot-setup-106.PNG

2.4. bootRunの実行

Gradleタスク タブを開き、bootRun をダブルクリック

boot-setup-107.PNG

Gradle実行 タブで、bootRunタスクが実行されたのを確認

boot-setup-108.PNG

コンソール タブで、Spring Boot が起動し、Started PracApplication が表示されていれば、application-product.properties を読込、正常起動されている

起動確認できたら、赤い■ボタンをクリックし、起動を停止する

boot-setup-109.PNG

3. logback.xml (実行環境用/開発環境用)の作成

3.1. build.gradle ファイル設定

build.gradle ファイルを開き、下記のモジュールを追加

No モジュール 説明
1 log4jdbc-log4j2 log4jdbc-log4j2 を使用してSQLをログ出力できるようにする
2 Janino library logback.xml で if condition 文を使用できるようにする
3 Apache Commons Lang StringUtils クラスを使用できるようにする

bootRun 実行時のJava引数、test 実行時のJava引数の、『spring.profiles.active=product』をコメントアウトし、『spring.profiles.active=develop』を追加

boot-setup-216.PNG

3.2. log4jdbc.log4j2.properties ファイル作成・設定

『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック
新規ファイル画面で、ファイル名に、log4jdbc.log4j2.properties を入力、「完了」をクリック

boot-setup-202.PNG

log4jdbc.log4j2.properties を開いて、Slf4jSpyLogDelegatorクラスを設定

boot-setup-203.PNG

3.3. logback.xml ファイル作成・設定

『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック
新規ファイル画面で、ファイル名に、logback.xml を入力、「完了」をクリック

boot-setup-204.PNG

logback.xml ファイルを開き、Java引数、『spring.profiles.active』の値により、読み込むファイル(logback-develop.xml or logback-product.xml)を振り分ける設定を追加

boot-setup-205.PNG

3.4. logback-*.xml ファイル作成・設定

『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック
新規ファイル画面で、ファイル名に、logback-develop.xml を入力、「完了」をクリック

boot-setup-206.PNG

Spring MVC の org.springframework.web パッケージのログレベルを、DEBUG に設定
log4jdbc-log4j2 の jdbc パッケージのログレベルを、サブパッケージ単位に設定

boot-setup-207.PNG

『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック
新規ファイル画面で、ファイル名に、logback-product.xml を入力、「完了」をクリック

boot-setup-208.PNG

Spring MVC の org.springframework.web パッケージのログレベルを、INFO に設定
※ log4jdbc-log4j2 は設定しない

boot-setup-209.PNG

3.5. bootRunの実行 (spring.profiles.active=develop)

bootRun 実行時のJava引数が、『spring.profiles.active=develop』なのを確認
Gradleタスク タブを開き、bootRun をダブルクリック

boot-setup-216.PNG

boot-setup-107.PNG

コンソール タブで、Spring Boot が起動し、ログレベル:DEBUGのログも出力されていて、Started PracApplication が表示されていれば、logback-develop.xml を読込、起動できている

boot-setup-210.PNG

boot-setup-211.PNG

3.6. bootRunの実行 (spring.profiles.active=product)

build.gradleファイルを開き、bootRun 実行時のJava引数を、『spring.profiles.active=product』に変更
Gradleタスク タブを開き、bootRun をダブルクリック

boot-setup-212.PNG

コンソール タブで、Spring Boot が起動し、ログレベル:INFOのログのみ出力されていて、Started PracApplication が表示されていれば、logback-product.xml を読込、起動できている

boot-setup-213.PNG

4. エラー処理の追加

PracApplicationクラスに、Java引数に、『spring.profiles.active=develop』『spring.profiles.active=product』以外なら、UnsupportedOperationExceptionを発生するように、エラー処理を追加

boot-setup-215.PNG


[参考]
かんがるーさんの日記 http://ksby.hatenablog.com/
Spring Boot でログイン画面 + 一覧画面 + 登録画面の Webアプリケーションを作る ( その2 )( Project作成 ) http://ksby.hatenablog.com/entry/2015/01/03/232948

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1