Loggingを利用しているが、基本となるログ実装部分は開発者に委ねられている。POMを利用する場合はLogbackが採用される。Logback以外を利用したければdependencyを変更するだけでOK。Boot内のロギングではインターフェースとして「Commons-Logging」を使用する。実際のログ出力処理の際には「Logback」というライブラリを使用する。Bootのデフォルトの実装となる。}}上記のような形だと一見ログ処理は「Commons-Logging」が担当しており、ログ出力する実際の処理も「Commons-Logging」で行っている風に見える。「Commons-Logging」とはインターフェースを提供するライブラリ。出力処理の実装を担っているのは「Logback」という別のライブラリになる。Initializrでサンプルプロジェクトを用意してBootRunしてみる。依存関係にはspring-starter-webだけを設定。何も弄っていないデフォルトのログ出力はこんな感じ。「Commons-Logging」→「Logback」という形でログが出力されている。BootプロジェクトからLogbackを除外してみるbuild.gradle.ktsにてLogbackをexcludeする記述を書いてみます。spring-boot-starter-loggingを依存関係から除外する。このライブラリはspring-boot-starter-webで自動的に依存関係のライブラリとして入れられるもの。"spring-boot-starter-logging")}BootRunしてみる。すると以下のようになる。ログが赤字で表示されている。肝心のログ出力処理を実装しているライブラリ「Logback」は存在しない。そのため、いつも見るLogbackで出力される白文字のログは出ていない事が分かる。「Logbackが存在しないと全くログが出力されないのでは?」と思ったが、そのような事はなくTomcatの依存関係であるログライブラリがログを出力しており、Tomcat側がログを出力する形になるとのこと。BootプロジェクトからCommons-Loggingを除外してみる次はCommons-Loggingを除外してみます。build.gradle.ktsにてspring-jclをexcludeすればOK。Logging」の略称。BootRunして確認してみる。org/apache/commons/logging/LogFactoryと出ているのが分かる。実際にログ出力処理を実装しているライブラリ「Logback」は存在する。そのため、当然NoClassDefFoundErrorでBuildに失敗する。2.x」「SLF4J」「JUL(java.util.logging)」経由でログを出力することができます。@kazuki43zoospring-jclはすごいやつ。登場以前はアプリ開発者側がブリッジライブラリ追加や「本家Commons-Logging」除外などを行わなければならなかったが、spring-jclモジュールが存在するだけでそれを解決してくれるすごいやつ。ここで出た「SLF4J」とは「Commons-Logging」と同じくインターフェース的ライブラリ。ちなみに「ログファサードライブラリ」とも呼ぶ。jcl-over-slf4jの例があるが、これは「Commons-Logging」での実装を「SLF4J」をバイパスしてくれるもの。spring-jcl登場以前は別個でこのライブラリを追加しなければならなかった。要するに、spring-jclが「Commons-Logging」と「SLF4J」の2つのログ出力が依存モジュールで混在していてもブリッジの役割を果たして出力してくれるという事になる。Bootの最小構成であるが、プロジェクトが大きくなるにつれてライブラリも増えログ出力の種類が混在してくるようになる。その時になると恩恵を感じられるようになるもの。分かりづらい世界であるが、下記記事が分かりやすく参考になる。Bootロギングの奥を覗いてみたら、Javaのロギングの歴史に片足を突っ込んでしまった。基本的にアプリ開発者は煩わしい事を考えずにログ実装が出来るようにされてある。org.slf4j:slf4j-api:1.7.30おしまい。デュアルモニターアーム(K001395)」を買ってみた。Rubyの「attr_accessor」ってなんぞや、という人へtomuziso関連記事Rubyの「attr_accessor」ってなんぞや、という人へRubyにattr_accessorってメソッドありますよね。Bootで開発を行っている中、S...入社して1年間でよく使ったGitコマンドまとめプログラマーデビューして約1年弱、その期間でよく使ったGitコマンドまとめです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト上に表示された文字を入力してください。デュアルモニターアーム(K001395)」を買ってみた。Boot本を読んだのでレビューGitHubの「プルリクエストテンプレート」はブランチ毎の出し分けが出来ない。入社して10ヶ月で会社を退職することになった。入社して10ヶ月で会社を退職することになった。入社して10ヶ月で会社を退職することになった。