ログ

診断ロギングの目的は、アプリケーションの実行時に利用可能な情報を増やすことです。ログに記録されたエラーと警告は、エンドユーザーにすぐには明らかにならない可能性があるシステム内の障害を特定するのに役立ちます。より詳細なロギングを一時的に有効にすると、問題のトラブルシューティング時にアプリケーションがどのように動作しているかをわかりやすく図で示すことができます。

Blue PrismはNLogと呼ばれる、実績があり信頼できるライブラリを利用して、ログ情報を出力し記録します。管理者は、グローバルまたはアプリケーションの特定の領域に記録される情報量を微調整できます。

ロギングレベル

ログエントリはレベル別に分類されます。情報レベル以上のエントリは通常、標準として記録されます。[デバッグ]や[トレース]など、より詳細な下位レベルでは、より詳細な情報が提供されますが、有効にする必要があります。

NLogは、次のレベルを定義します。

  • トレース – 非常に詳細なログ。プロトコルペイロードなどの大量の情報が含まれることがあります。このログレベルは、通常は開発中にのみ有効になります。
  • デバッグ – トレースよりも詳細度の低いデバッグ情報は通常、パフォーマンスに影響する可能性があるため、本番環境では有効になりません。
  • 情報 – 情報メッセージ。通常は本番環境で有効になっています。
  • 警告 – 警告メッセージ。通常は、復旧可能な重要でない問題、または一時的な障害に関するものです。
  • エラー – エラーメッセージ – ほとんどの場合、これらは例外です。
  • 致命的 – 非常に重大なエラー。

標準ロギング構成

ロギングレベルは、各Webサイトとサービスのインストールフォルダー内のappsettings.jsonファイル内で定義されます。デフォルトのインストールでは、これらのフォルダーはC:\\Program Files (x86)\\Blue Prism\\にあります。

Blue Prismを普通に使っている間は、自分でappsettings.jsonファイルのログ構成設定に変更を加える必要はありません。製品の問題を調査する場合は、Blue Prismカスタマーサポートから別のログ構成設定が提供されます。appsettings.jsonファイルでロギング設定を変更した場合は、サイトをIIS内で再起動する必要があります。

ロギング構成に変更を加えるとアプリケーションの性能に影響を及ぼす可能性があるため、本番環境内を修正する場合は特に注意する必要があります。

デフォルトの構成では、情報レベル以上(警告、エラー、致命的なエラーを含む)のログエントリをログファイルに書き込みます。ログファイルは、appsettings.jsonファイルのLogsFolder設定で指定されたディレクトリに書き込まれます。通常は、./Logs_{Application}に設定されます。例 ./Logs_Hubまたは./Logs_Interact。

デフォルトでは、appsettings.jsonファイルのロギング構成設定は次のようになります。

コピー
"Logging": {
      "LogsFolder": "./Logs_{Application}",
      "LogLevel": {
        "Default": "Information",
        "System": "Warning",
        "Microsoft": "Warning"
      }
    },

ログレベルと日付に基づいて個別のログファイルが生成され、これらは、warns.2021-05-07やinfos.2021-05-07などのログファイル名に反映されます。

情報ログファイルからの行の例を次に示します。

[08:58:11.4549] Connect.Core.Actions.UpdateCacheAction - ウィジェットのキャッシュが更新されました

このテキストの形式には、以下の要素が含まれています。

  • 時刻(サーバーで設定されたタイムゾーンを使用) – 日付がファイル名に反映されます。
  • ロガー名 – これは通常、ログエントリの起点となるクラスと名前空間を識別します。
  • ログメッセージ。
  • エラー情報 - 例外情報がログされている場合のみ使用可能です。完全な詳細は、ログメッセージの下の別の行に記録されます。

追加のログ構成

Blue Prismは、特定のコンポーネントによるアクティビティをキャプチャするために、適切なappsettings.jsonファイルに追加できるログ構成設定を開発しました。

LDAPのデバッグ

ロギングを構成して、HubをLDAPと同期する際に発生する可能性のあるさまざまな問題をデバッグできます。Hub UIでユーザーを同期する前に、Authentication Serverのappsettings.jsonファイルでログインを設定する必要があります。

  1. サーバーで、Authentication Serverフォルダーに移動します。デフォルトでは、これはC:\Program Files (x86)\Blue Prism\にあります。
  2. appsettings.jsonファイルをテキストエディターで開きます。
  3. Loggingセクションを見つけて、LogLevelセクションに"ImsServer.IntegrationServices.Services.LdapConnectionService": "Debug"を追加し、上の行の最後にカンマを挿入します。以下のようになります。

    コピー
    "Logging": {
          "LogsFolder": "./Logs_AuthenticationServer",
          "LogLevel": {
            "Default": "Information",
            "System": "Warning",
            "Microsoft": "Warning",
            "ImsServer.IntegrationServices.Services.LdapConnectionService": "Debug"
          }
        },
  4. ファイルを保存します。
  5. IISアプリケーションプールでAuthentication Serverプールをリサイクルします。

    4.3より前のバージョンからアップグレードした場合は、IMSプールをリサイクルする必要があります。

  6. IISサイトでAuthentication Serverサイトを再起動します。

これにより、Logs_AuthenticationServerディレクトリにプレフィックス「デバッグ」と適切な日付を持つファイルが作成されます。

デバッグ情報を使用して問題を解決したら、追加された行とカンマを削除してファイルを保存し、手順5と6を繰り返す必要があります。これを行わないと、ログファイルのサイズは大幅に増加し、メモリがいっぱいになる可能性があります。

ログ収集サービス

このWindowsサービスは、各Webサーバーコンポーネント(Hub、Interact、 Authentication Server 、Audit Service、監査サービスリスナー、Emailサービス、ログ収集サービス、IADA、Interact Remote API、SignalR、送信フォームマネージャー)から古い製品ログを削除します。このサービスは毎月7日に実行されるスケジュールとなっており、ログはC:\Program Files (x86)\Blue Prism\ArchivedLogsに移動されます。

apppsettings.json内で、アーカイブされたログフォルダーのパスとスケジューラーの日付を変更できます。C:\Program Files (x86)\Blue Prism\Log Service(デフォルト)の「ArchivedFolder」ではアーカイブパスを、「DayOfMonth」ではスケジューラーの日付を変更できます。

詳細情報

以下のリンクから、役立つ詳細情報を参照できます。