- リリース ノート
- 基本情報
- アクセスと権限
- Insights を操作する
- ログ
- ログのルールを設定する
ログのルールを設定する
ロボット ログでは、診断ログと実行ログがキャプチャされます。Insights でロボット ログを取り込む条件を設定できます。たとえば、特定の名前を含むプロセスのログのみをキャプチャできます。
詳細については、「ロボット ログ」をご覧ください。
Insights で取り込むロボット ログの既定の設定には、最後のログとエラー ログのみを取り込む設定が含まれます。以下のセクションでは、実行している Insights のバージョンに応じた既定のログ ルールを示します。
この例では、すべてのプロセスの最後のログとエラー ログが取り込まれます。このバージョンの Insights は、以下の例に示すように、プロセスを実行したロボットからの最後の Info レベルのログと、すべての Error レベルのログを取り込みます。
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="level >= LogLevel.Error or ends-with('${message}',' execution ended')" action="Log" />
<when condition="'${ui-robot-logs-num-custom-fields}' > 1 and not ends-with('${message}', ' execution started')" action="Log" />
</filters>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="level >= LogLevel.Error or ends-with('${message}',' execution ended')" action="Log" />
<when condition="'${ui-robot-logs-num-custom-fields}' > 1 and not ends-with('${message}', ' execution started')" action="Log" />
</filters>
この例では、すべてのプロセスのすべてのログ (Info レベル以上) が取り込まれます。このバージョンの Insights は、以下の例に示すように、すべてのプロセスに対してロボットによって生成されたすべてのログ (Info レベル以上) を取り込みます。
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs"/>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs"/>
- Orchestrator の構成ファイルの値は管理者のみが変更してください。
- 作業を進める前に、
UiPath.Orchestrator.dll.config
ファイルをバックアップしてください。このファイルは、C:\Program Files (x86)\UiPath\Orchestrator
にあります。 - Orchestrator の構成ファイルに変更を加えたら、Web サイトを再起動してください。
- すべてのパラメーターは、大文字と小文字を区別します。
- 最適なパフォーマンスを得るには、2 年間のタイムフレームに生成されるロボット ログが 2 億件を超えないようにしてください。
- NLog 構成ファイルを使用して、環境内の Insights に関連するデータをキャプチャし、ロボット ログによって生成されるレコードの数を減らします。
- C:\Program Files (x86)\UiPath\Orchestrator に移動して
UiPath.Orchestrator.dll.config
ファイルを開き、Orchestrator の設定を変更します。 - ロボット ログ パラメーターを探します (例:
<logger name="Robot.*" environmentSpecificConfiguration/>
)。 - フィルターに既定のアクションを設定します (例:
filters defaultAction="Ignore"
)。 - ログ レベルやその他のイベントに基づいて条件を設定します (「ログ ルールの例」をご覧ください)。
- ファイルを保存し、Orchestrator を再起動します。
Orchestrator の構成ファイルの構成について詳しくは、「UiPath.Orchestrator.dll.config」をご覧ください。
以下の例は、Info レベルと Error レベルのログのカスタム ログ ルールの設定を示しています。具体的な条件を設定することで、Insights は設定したプロセスのログのみを取り込みます。
payment disp
、68fields
、または 68fields_20
について、Info レベルおよび Error レベルのすべてのログを取り込みます。
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="equals('${event-properties:item=processName}', 'payment disp') or equals('${event-properties:item=processName}', '68fields') or equals('${event-properties:item=processName}', '68fields_20')" action="Log" />
</filters>
</logger>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="equals('${event-properties:item=processName}', 'payment disp') or equals('${event-properties:item=processName}', '68fields') or equals('${event-properties:item=processName}', '68fields_20')" action="Log" />
</filters>
</logger>
payment disp
、 68fields
、または 68fields_20
について、Info レベルの最後のログと Error レベルのログのみを取り込みます。
Error レベルのログと、各ロボットの最後のログのみが Insights に取り込まれます。
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="(level >= LogLevel.Error or ends-with('${message}',' execution ended')) and (contains('${event-properties:item=processName}', 'payment disp') or equals('${event-properties:item=processName}', '68fields') or equals('${event-properties:item=processName}', '68fields_20'))" action="Log" />
</filters>
</logger>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Ignore">
<when condition="(level >= LogLevel.Error or ends-with('${message}',' execution ended')) and (contains('${event-properties:item=processName}', 'payment disp') or equals('${event-properties:item=processName}', '68fields') or equals('${event-properties:item=processName}', '68fields_20'))" action="Log" />
</filters>
</logger>
payment disp
についてログを一切取り込みません。
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Log">
<when condition="equals('${event-properties:item=processName}', 'payment disp')" action="Ignore" />
</filters>
</logger>
<logger name="Robot.*" ruleName="insightsRobotLogsRule" enabled="true" minlevel="Info" writeTo="insightsRobotLogs">
<filters defaultAction="Log">
<when condition="equals('${event-properties:item=processName}', 'payment disp')" action="Ignore" />
</filters>
</logger>