【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 との連携を行う際にも、このファイルで正しく設定することで、必要なログ情報を収集・送信できます
是非参考ください!
			是非フォローしてください
最新の情報をお伝えします
