通知を受け取る

UiPath Orchestrator

UiPath Orchestrator ガイド

ログの構成

★削除★ web.config file (C:\Program Files (x86)\UiPath\Orchestrator) contains multiple settings that enable you to configure Orchestrator to your liking. Most of the parameters that interest you can be found under appSettings, but there might be some logging configurations that can be changed after install.

📘

注:

これらのパラメーターの値の変更は管理者のみが行うことが推奨されます。
Additionally, it is recommended that you stop the IIS site in order to modify web.config settings under any circumstances.

ログの分類

1. Robot: <logger name="Robot.*" writeTo="database,robotElasticBuffer" final="true" />. Used to log messages generated by Robots. The following parameters have to be configured:

  • writeTo - ロボットが生成したログ メッセージが書き込まれる場所です。次の値が受け入れられます。
    • database - ログは Orchestrator の SQL データベースに送られます。これは既定値の 1 つです。
    • robotElasticBuffer - Logs are sent to ElasticSearch. This is the second default value. Please remember this requires additional settings. Details here.
      Orchestrator の SQL データベースと Elasticsearch の両方にログを送信することで、否認不可のログを保持できます。この場所へのログの送信を停止するには、これらの値のいずれかを削除します。
    • robotMongoBuffer - Logs are sent to MongoDB. Please note that this requires additional settings. Details here.
      同様の API があるため、MongoDB プロトコルを使用する他のサービスも使用できます。
  • final - A flag that indicates what to do when a match between a logged message and the logger name is found. When set to true, it does not look for another match. When set to false, other rules matching the same source are checked. By default, it is set to true です。

2. Schedules: <logger name="Quartz.*" minlevel="Info" writeTo="eventLogQuartz" final="true" />. Used to log messages generated by schedules.

📘

注:

To ensure a smooth run for schedules in an Orchestrator setup with a load balancer you should also set the quartz.jobStore.clustered parameter to true です。

3. All others: <logger name="*" minlevel="Info" writeTo="eventLog" />. Used to log all other messages besides the ones described above, including those generated by Orchestrator.

📘

注:

SQL データベース内に 200 万を超えるログを保持すると、パフォーマンスの問題が発生する場合があります。そのことも考慮し、Elasticsearch を使用することをお勧めします。

その他の設定

ElasticSearch

ElasticSearch の設定に従って、次の NLog ターゲットの情報を読み込む必要があります。

<target xsi:type="ElasticSearch" name="robotElastic" uri="<elasticSearch_url>" index="${event-properties:item=indexName}-${date:format=yyyy.MM}" documentType="logEvent" includeAllProperties="true" layout="${message}" excludedProperties="agentSessionId,tenantId,organizationUnitId,indexName" />
  • uri - the ElasticSearch URL; note that you have to include the protocol and port, such as http://elastic_server:9200;
  • excludedProperties - Elasticsearch に保存しないデータです。

MongoDB

🚧

このリリース ノートの「ログ」のセクションに記載のとおり、この機能はサポートされなくなりました。

MongoDB の設定に従って、次の NLog ターゲットの情報を読み込む必要があります。

<target name="robotMongoBuffer" xsi:type="BufferingWrapper" flushTimeout="5000">
    <target xsi:type="Mongo" name="robotMongo" connectionString="<connection_string>" databaseName="<database_name>" collectionName="<collection_name>">
        <field name="windowsIdentity" layout="${event-properties:item=windowsIdentity}"/>
        <field name="processName" layout="${event-properties:item=processName}"/>
        <field name="jobId" layout="${event-properties:item=jobId}"/>
        <field name="rawMessage" layout="${event-properties:item=rawMessage}"/>
        <field name="robotName" layout="${event-properties:item=robotName}"/>
        <field name="indexName" layout="${event-properties:item=indexName}"/>
        <field name="machineId" layout="${event-properties:item=machineId}"/>
        <field name="tenantKey" layout="${event-properties:item=tenantKey}"/>
        <field name="levelOrdinal" layout="${event-properties:item=levelOrdinal}" bsonType="Int32"/>
    </target>
</target>
  • <connection_string> - Azure Cosmos DB から取得したデータベースに対応する接続文字列です。
  • <database_name> - Azure Cosmos DB で定義されているデータベース名です。
  • <collection_name> - 対応する Azure Cosmos DB コレクションの名前です。

データベースのイベントのログ記録

システム イベント ログをイベント ビューアーではなくデータベースに保存するには、次の手順を実行します。

  1. 新しいデータベース テーブルを作成します。例:
CREATE TABLE [dbo].[EventLogs](
    [Id] [bigint] IDENTITY(1,1) NOT NULL,
    [Timestamp] [datetime] NOT NULL,
    [Level] [int] NOT NULL,
    [Message] [nvarchar](max) NULL,
    [Exception] [nvarchar](max) NULL)

In the above query, we create a table named EventLogs with the following columns:

  • Id - to hold an ID number for each log, here starting with 1 and incrementing the value with each log added;
  • Timestamp - 各イベントがログ記録された時間を保持します。
  • Level - 各イベントの数値ログ レベルを保持します。
  • Message - 該当する場合、各イベントのメッセージを保持します。
  • Exception - 該当する場合、各イベントに対してログに記録された例外を保持します。

📘

注:

表に任意の名前を使用し、上記のクエリから列を削除するか、ニーズに合わせて他の列を追加できます。

  1. In the web.config file, add a new NLog target:
<target xsi:type="Database" connectionStringName="Default" name="eventLogDatabase" keepConnection="true">
        <commandText>
          INSERT INTO dbo.EventLogs (Timestamp, Level, Message, Exception)
          VALUES (@timestamp, @level, @message, @exception)
        </commandText>
        <parameter name="@timestamp" layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff}" />
        <parameter name="@level" layout="${event-properties:item=levelOrdinal}" />
        <parameter name="@message" layout="${message}" />
        <parameter name="@exception" layout="${onexception:${exception:format=tostring:maxInnerExceptionLevel=5:innerFormat=tostring}}" />
</target>

Defining a corresponding parameter for the data to be added in each database column, in this example @timestamp @level @message, and @exception です。

  1. 最後に、次を追加して、新しく作成されたターゲットを、上記のすべての Orchestrator メッセージの NLog ロガー分類に関連付けます。
<logger name="*" minlevel="Info" writeTo="eventLog,eventLogDatabase" />

NLog のデバッグを有効化する

NLog は、設定が簡単で拡張性のあるオープンソースのログ プラットフォームで、さまざまな .NET プラットフォームに使用できます。NLog を使用して、ローカル ファイル、イベント ログ、メール、データベースなど、任意の数の事前定義済みターゲットやカスタム ターゲットに、ログ データを格納したり、渡したりすることができます。

Though there exists some overlap, NLog and Orchestrator have several differentiating logging levels. For NLog you can select either Trace Debug Info Warn Error Fatal, or Off. See Logging Levels for a description of the available levels in Orchestrator.

You can enable debugging in NLog to ensure that it is functioning properly. By default NLog is set to Off, it is enabled by configuring the following section of the web.config file:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="">

次の属性の設定が必須です。

  • internalLogLevel - 望ましいログ レベル
  • internalLogFile - ログ ファイルの場所

例:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="false" internalLogLevel="Debug" internalLogFile="C:\logs.txt">

📘

注:

The user profile under which Orchestrator is running must have access to the path specified in the internalLogFile 属性の時間単位です。

2 年前に更新



ログの構成


改善の提案は、API リファレンスのページでは制限されています

改善を提案できるのは Markdown の本文コンテンツのみであり、API 仕様に行うことはできません。