1. 概要
実行環境用と開発環境用に、application.properties ファイルと logbackファイルを切り替える
実行環境では、ログレベル info 以上、開発環境では、ログレベル debug 以上のログ出力がされるように設定
2. application.properties (実行環境用/開発環境用)の作成
2.1. コンポーネントの構成パッケージを作成
層名 | コンポーネント名 | 役割 |
---|---|---|
ドメイン層 | Model | アプリケーションで扱われるモデル |
Repository | ModelのCRUD操作を行う | |
Service | 業務ロジックを扱う、トランザクション境界 | |
アプリケーション層 | Controller | 画面遷移や入出力のフォーマットを制御 |
View(HTML) | ユーザインタフェースを提供 |
2.2. properties ファイル作成・設定
『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック
新規ファイル画面で、ファイル名に、application-product.properties を入力、「完了」をクリック
同様の手順で、application-develop.propertiesも作成
設定項目 | 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 |
application.properties は使用しないため、全行コメントアウト
2.3. build.gradle ファイル設定
build.gradle ファイルを開き、bootRun 実行時のJava引数に、『spring.profiles.active=product』を追加
test 実行時のJava引数にも、同様に追加
2.4. bootRunの実行
Gradleタスク タブを開き、bootRun をダブルクリック
Gradle実行 タブで、bootRunタスクが実行されたのを確認
コンソール タブで、Spring Boot が起動し、Started PracApplication が表示されていれば、application-product.properties を読込、正常起動されている
起動確認できたら、赤い■ボタンをクリックし、起動を停止する
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』を追加
3.2. log4jdbc.log4j2.properties ファイル作成・設定
『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック
新規ファイル画面で、ファイル名に、log4jdbc.log4j2.properties を入力、「完了」をクリック
log4jdbc.log4j2.properties を開いて、Slf4jSpyLogDelegatorクラスを設定
3.3. logback.xml ファイル作成・設定
『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック
新規ファイル画面で、ファイル名に、logback.xml を入力、「完了」をクリック
logback.xml ファイルを開き、Java引数、『spring.profiles.active』の値により、読み込むファイル(logback-develop.xml or logback-product.xml)を振り分ける設定を追加
3.4. logback-*.xml ファイル作成・設定
『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック
新規ファイル画面で、ファイル名に、logback-develop.xml を入力、「完了」をクリック
Spring MVC の org.springframework.web パッケージのログレベルを、DEBUG に設定
log4jdbc-log4j2 の jdbc パッケージのログレベルを、サブパッケージ単位に設定
『src/main/resources』 を右クリック、[新規]-[ファイル]をクリック
新規ファイル画面で、ファイル名に、logback-product.xml を入力、「完了」をクリック
Spring MVC の org.springframework.web パッケージのログレベルを、INFO に設定
※ log4jdbc-log4j2 は設定しない
3.5. bootRunの実行 (spring.profiles.active=develop)
bootRun 実行時のJava引数が、『spring.profiles.active=develop』なのを確認
Gradleタスク タブを開き、bootRun をダブルクリック
コンソール タブで、Spring Boot が起動し、ログレベル:DEBUGのログも出力されていて、Started PracApplication が表示されていれば、logback-develop.xml を読込、起動できている
3.6. bootRunの実行 (spring.profiles.active=product)
build.gradleファイルを開き、bootRun 実行時のJava引数を、『spring.profiles.active=product』に変更
Gradleタスク タブを開き、bootRun をダブルクリック
コンソール タブで、Spring Boot が起動し、ログレベル:INFOのログのみ出力されていて、Started PracApplication が表示されていれば、logback-product.xml を読込、起動できている
4. エラー処理の追加
PracApplicationクラスに、Java引数に、『spring.profiles.active=develop』『spring.profiles.active=product』以外なら、UnsupportedOperationExceptionを発生するように、エラー処理を追加
[参考]
かんがるーさんの日記 http://ksby.hatenablog.com/
Spring Boot でログイン画面 + 一覧画面 + 登録画面の Webアプリケーションを作る ( その2 )( Project作成 ) http://ksby.hatenablog.com/entry/2015/01/03/232948