検索ログ・ファイルとインデックス作成ログ・ファイル

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecoreは、検索操作とインデックス作成操作の追跡にログ ファイルを使用します。クロール・ログにはインデックス作成オペレーションに関する情報が表示され、検索ログには検索クエリに関する情報が表示されます。

クロールログ

クロール ログには、インデックス作成プロセスに関する情報が含まれています。クロール ログは、App_Config/Sitecore.configファイルの <log4net /> セクションで設定します。デフォルトのログレベルはINFOです。

<logger name="Sitecore.Diagnostics.Crawling" additivity="false">
      <level value="INFO" />
      <appender-ref ref="CrawlingLogFileAppender" />
</logger>

このログのappenderは、同じセクションで定義します。デフォルトでは、data/logsフォルダ内の .txtファイルに書き込みます。

<appender name="CrawlingLogFileAppender" type=
          "log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging">
      <file value="$(dataFolder)/logs/Crawling.log.{date}.txt" />
      <appendToFile value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" />
      </layout>
</appender>

この実装では 、log4netを使用します。log4netのドキュメントでは、Windowsイベント ログ、データベース、またはその他の場所に書き込むappenderを変更する方法について説明しています。

次に、ログエントリのクロールの例を示します。

INFO  [Index=sitecore_core_index] Initializing IntervalAsynchronousUpdateStrategy 
              with interval '00:01:00'.
INFO  [Index=sitecore_core_index] Initializing LuceneDatabaseCrawler. 
              DB:core / Root:/sitecore
INFO  [Index=sitecore_master_index] Initializing SynchronousStrategy.
INFO  [Index=sitecore_master_index] Initializing LuceneDatabaseCrawler. 
              DB:master / Root:/sitecore
INFO  [Index=sitecore_web_index] Initializing OnPublishEndAsynchronousStrategy.
INFO  [Index=sitecore_web_index] Initializing LuceneDatabaseCrawler. 
              DB:web / Root:/sitecore
INFO  [Index=custom_master] Initializing IntervalAsynchronousUpdateStrategy 
              with interval '00:00:05'.
INFO  [Index=custom_master] Initializing LuceneDatabaseCrawler. DB:master / 
              Root:{D70CBEED-6DCF-483F-978F-6FC3C8049512}
INFO  [Index=custom_web] Initializing OnPublishEndAsynchronousStrategy.
INFO  [Index=custom_web] Initializing LuceneDatabaseCrawler. 
              DB:web / Root:{D70CBEED-6DCF-483F-978F-6FC3C8049512}
INFO  [Index=custom_web] Creating primary and secondary directories
INFO  [Index=custom_web] Resolving directories from index property 
              store for index 'custom_web'
INFO [Index=custom_master] IntervalAsynchronousUpdateStrategy executing.

ログは、インデックスの構成方法と初期化方法に関する情報から始まります。その後、インデックス更新戦略がインデックスに適用されたとき、または完全な再構築がトリガーされたときに、クロール ログにエントリが書き込まれます。

この例のロギング・レベルはINFOであるため、ログ・ファイルに含まれるエントリーの量は限られています。

トラブルシューティングの目的など、より詳細なログについては、ログレベルを次のように変更できますDEBUG

<logger name="Sitecore.Diagnostics.Crawling" additivity="false">
      <level value="DEBUG" />
      <appender-ref ref="CrawlingLogFileAppender" />
</logger>

この設定と詳細ロガーを有効にすると、Sitecoreは非常に詳細なアイテム レベルのインデックス作成ログを生成します。

詳細ロギング

標準ログに加えて、詳細ログを有効にすることができます。詳細ログを有効にすると、インデックス作成の詳細を確認できます。

詳細ログは、次のような状況で使用します。

  • インデックスが更新されません。

  • 一部のアイテムがインデックスに登録されていません。

  • インデックスに対して完全な再構築がトリガーされますが、その理由を理解する必要があります。

  • 特定のサーバー上のインデックス作成アクティビティを調査する必要があります。

マルチサーバー環境内のすべてのサーバーでインデックスがどのように更新されるかをテストする必要があります

VerboseLoggerは、ContentSearch.VerboseLoggingtrueときにインスタンス化されます。

デフォルトはfalseで、この設定はSitecoreが提供する設定にはありません。 Sitecore.ContentSearch.VerboseLogging.config.exampleファイルには、詳細ログを有効にする方法を示す例があります。

メモ

VerboseLoggerコンポーネントは特別な状況でのみ有効にし、本番環境で長時間実行しないでください。ログファイルのサイズは非常に速く、パフォーマンスが低下する可能性があります。

詳細ログは、トラブルシューティングに使用します。たとえば、特定のアイテムにインデックスが作成されていない場合、VerboseLoggerはより多くのコンテキストを提供し、問題の解決に役立ちます。

このVerboseLoggerは、インデックス作成イベントの大規模なセットに関する情報を書き込みます。

  • indexing:excludedfromindex

  • indexing:start

  • indexing:end

  • indexing:addingrecursive

  • indexing:addedrecursive

  • indexing:adding

  • indexing:added

  • indexing:refreshstart

  • indexing:refreshend

  • indexing:deleteitem

  • indexing:deletegroup

  • indexing:updatingitem

  • indexing:updateditem

  • indexing:updatedependents

  • indexing:refreshstart

  • indexing:refreshend

  • indexing:propertyset

  • indexing:propertyget

  • indexing:propertyadd

検索ログ

検索ログには、Sitecoreが実行する検索クエリに関する情報が含まれています。

検索ログは、web.configファイルの <log4net /> セクションで設定します。

    <logger name="Sitecore.Diagnostics.Search" additivity="false">
      <level value="INFO" />
      <appender-ref ref="SearchLogFileAppender" />
    </logger>

このログのappenderは、同じセクションで定義します。デフォルトでは、data/logsフォルダ内の .txtファイルに書き込むように設定されています。

<appender name="SearchLogFileAppender" 
           type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging">
      <file value="$(dataFolder)/logs/Search.log.{date}.txt" />
      <appendToFile value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" />
      </layout>
</appender>

実装はlog4netに基づいています。log4netのドキュメントでは、Windowsイベント ログ、データベース、またはその他の場所に書き込むappenderを変更する方法について説明しています。

これは、検索ログエントリがどのように表示されるかのサンプルです。

3212 19:31:56 INFO  ExecuteQueryAgainstLucene :
         +_datasource:sitecore +(+(+_path:11111111111111111111111111111111 +_latestversion:1)
         +mileagehwy:[1 TO 4mileagecity]) - Filter : 3212 19:31:56 
       INFO  Results from web database :8818

コンテンツ検索のフル レベルのデバッグを有効にするには、the Sitecore.ContentSearch.configファイルでContentSearch.EnableSearchDebug = trueを設定し、検索ロガーのログ レベルをDEBUGに変更します。

<logger name="Sitecore.Diagnostics.Search" additivity="false">
      <level value="DEBUG" />
      <appender-ref ref="SearchLogFileAppender" />
</logger>

検索のエントリは、次の場合に役立ちます。

  • LINQコードが検索プロバイダーに渡されるネイティブ検索クエリにどのように変換されるかを理解したい開発者。

  • 特定のサーバーで実行される検索クエリを把握する必要がある管理者。この情報は、たとえば、queryWarmupパイプラインにどのクエリを配置すべきかの入力として、さらなる最適化に使用できます。

この記事を改善するための提案がある場合は、 お知らせください!