7.4. Logback を使用して OptaPlanner ソルバーアクティビティーをログに記録する


Logback は、OptaPlanner で使用するために推奨されるロギングフレームワークです。Logback を使用して、OptaPlanner ソルバーアクティビティーをログに記録します。

前提条件

  • OptaPlanner プロジェクトがあります。

手順

  1. 次の Maven 依存関係を OptaPlanner プロジェクトの pom.xml ファイルに追加します。

    注記

    ブリッジの依存関係を追加する必要はありません。

        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
          <version>1.x</version>
        </dependency>
  2. 次の例に示すように、 logback.xml ファイルの org.optaplanner パッケージのログレベルを設定します。ここで、<LEVEL>「Logback を使用して OptaPlanner ソルバーアクティビティーをログに記録する」 にリストされているログレベルです。。

    <configuration>
    
      <logger name="org.optaplanner" level="<LEVEL>"/>
    
      ...
    
    </configuration>
  3. オプション: 複数の ソルバー インスタンスが同時に実行されている可能性があるマルチテナントアプリケーションがある場合は、各インスタンスのログを別々のファイルに分割します。

    1. solve() 呼び出しをマップされた診断コンテキスト (MDC) で囲みます。

              MDC.put("tenant.name",tenantName);
              MySolution bestSolution = solver.solve(problem);
              MDC.remove("tenant.name");
    2. ${tenant.name} ごとに異なるファイルを使用するようにロガーを設定します。たとえば、 logback.xml ファイルで SiftingAppender を使用します。

        <appender name="fileAppender" class="ch.qos.logback.classic.sift.SiftingAppender">
          <discriminator>
            <key>tenant.name</key>
            <defaultValue>unknown</defaultValue>
          </discriminator>
          <sift>
            <appender name="fileAppender.${tenant.name}" class="...FileAppender">
              <file>local/log/optaplanner-${tenant.name}.log</file>
              ...
            </appender>
          </sift>
        </appender>
      注記

      複数のソルバーまたは 1 つのマルチスレッドソルバーを実行する場合、コンソールを含むほとんどのアペンダーは、デバッグ および トレース ログで輻輳を引き起こします。この問題を回避するには、非同期アペンダーに切り替えるか、デバッグ ログをオフにします。

  4. OptaPlanner が新しいレベルを認識しない場合は、一時的にシステムプロパティー -Dlogback.LEVEL=true を追加してトラブルシューティングします。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.