【Spring Boot】logback-spring.xmlはどんなファイルなんだ?ちょっと調べてみた(Datadog例)
logback-spring.xmlはSpring Boot アプリケーションで使用されるロギング設定ファイルで、Logback を設定するために使用します
Logback は、Spring Boot の確実なロギング フレームワークで、XML 形式で詳細なログ設定を行います
1. logback-spring.xmlの基本的な構造
<configuration>
<!-- コンソールへのログ出力 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- ログレベル設定(全てのログレベルをINFOに設定) -->
<root level="INFO">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
このファイルでは、以下の要素を設定します
- Appender : ログの出力先を定義します(例:コンソール、ファイル、Datadog など)
- エンコーダ: ログのフォーマットを定義します(例:タイムスタンプ、スレッド名、ログレベルなど)
- Logger : ログの出力元クラスやパッケージごとのログレベルを設定します
- ルート: ルートレベルのロガー設定です。アプリケーション全体のログレベルを決定します
Datadogへのログ出力を行う場合はDatadogのカスタムAppenderをlogback-spring.xml追加することができます
2. Datadog連携の例
Datadogへのログ送信例
<configuration>
<!-- Datadogへのログ送信 -->
<appender name="DATADOG" class="com.datadoghq.logback.DatadogAppender">
<apiKey>your_datadog_api_key</apiKey> <!-- DatadogのAPIキー -->
<source>springboot</source> <!-- ログのソース(アプリケーション名など) -->
<service>my-springboot-app</service> <!-- サービス名 -->
<host>my-app-host</host> <!-- ホスト名 -->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- ルートロガー(すべてのログをDatadogに送信) -->
<root level="INFO">
<appender-ref ref="DATADOG" />
</root>
</configuration>
3. よく使われる設定例
コンソールへのログ出力とファイルへのログ出力
<configuration>
<!-- コンソールへのログ出力 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- ファイルへのログ出力 -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/app.log</file>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- ルートロガー(コンソールとファイルにログ出力) -->
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
特定パッケージのログレベルを変更
<configuration>
<!-- 特定のパッケージに対してデバッグレベルのログ出力 -->
<logger name="com.example.myapp" level="DEBUG" />
<root level="INFO">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
logback-spring.xmlはSpring Boot アプリケーションのロギング動作を細かくカスタマイズできる強力なツールです
Datadog との連携を行う際にも、このファイルで正しく設定することで、必要なログ情報を収集・送信できます
是非参考ください!
是非フォローしてください
最新の情報をお伝えします