MessageLogging-Richtlinie

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Was

Eine der besten Möglichkeiten, Probleme in der API-Laufzeitumgebung zu ermitteln, besteht darin, Nachrichten zu protokollieren. Sie können eine MessageLogging-Richtlinie an Ihre API anhängen und konfigurieren, um benutzerdefinierte Nachrichten auf einem lokalen Laufwerk (nur Edge für Private Cloud) oder in Syslog zu protokollieren.

Samples

syslog

<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
    <DateFormat>yyyy-MM-dd'T'HH:mm:ss.SSSZ</DateFormat>
  </Syslog>
  <logLevel>ALERT</logLevel>
</MessageLogging>

Die Art des Benachrichtigungstyps wird häufig in einem Syslog-Konto protokolliert. Wenn ein API-Proxy für Syslog konfiguriert ist, leitet er Log-Nachrichten von Apigee Edge an einen Remote-Syslog-Server weiter. Der Syslog-Server muss bereits vorhanden sein. Ist dies nicht der Fall, sind öffentliche Log-Verwaltungsdienste wie Splunk, Sumo Logic und Loggly verfügbar. Weitere Informationen finden Sie unter Dienste von Drittanbietern für die Logverwaltung konfigurieren.

Beispiel: Sie möchten Informationen zu jeder Anfragenachricht protokollieren, die Ihre API von Nutzeranwendungen empfängt. Der Wert 3f509b58 stellt einen Schlüsselwert dar, der für den Loggly-Dienst spezifisch ist. Wenn Sie ein Loggly-Konto haben, ersetzen Sie Ihren Loggly-Schlüssel. Die generierte Lognachricht enthält vier Werte: die Organisation, den API-Proxy und den Umgebungsnamen der Transaktion sowie den Wert für einen Abfrageparameter in der Anfragenachricht.

Wenn Sie einen Edge für die Private Cloud-Bereitstellung haben, können Sie auch Lognachrichten in eine Datei schreiben.

Syslog über TLS/SSL

<MessageLogging name="LogToSyslog">
  <Syslog>
    <Message>[3f509b58 tag="{organization.name}.{apiproxy.name}.{environment.name}"] Weather request for WOEID {request.queryparam.w}.</Message>
    <Host>logs-01.loggly.com</Host>
    <Port>6514</Port>
    <Protocol>TCP</Protocol>
    <FormatMessage>true</FormatMessage>
    <SSLInfo>
        <Enabled>true</Enabled>
    </SSLInfo>
    <DateFormat>yyMMdd-HH:mm:ss.SSS</DateFormat>
  </Syslog>
  <logLevel>WARN</logLevel>
</MessageLogging>

Mit dem Block <SSLInfo> können Sie Nachrichten über Drittanbieter-Logging für Nachrichten über TLS/SSL senden.

Dateirotation: Größe

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
      <FileName>test.log</FileName>
      <FileRotationOptions rotateFileOnStartup="true">
        <FileRotationType>SIZE</FileRotationType>
        <MaxFileSizeInMB>10</MaxFileSizeInMB>
        <MaxFilesToRetain>10</MaxFilesToRetain>
      </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

Dateirotation basierend auf der Dateigröße.

Dateirotation: Zeit

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
    <FileName>test.log</FileName>
    <FileRotationOptions rotateFileOnStartup="true">
      <FileRotationType>TIME</FileRotationType>
      <RotationFrequency unit="minute">10</RotationFrequency>
      <MaxFilesToRetain>10</MaxFilesToRetain>
    </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

Dateirotation basierend auf der Zeit.

Dateirotation: Zeit und Größe

<MessageLogging name="LogPolicy">
  <File>
    <Message>This is a test message. Message id : {request.header.messageid}</Message>
    <FileName>test.log</FileName>
    <FileRotationOptions rotateFileOnStartup="true">
      <FileRotationType>TIME_SIZE</FileRotationType>
      <MaxFileSizeInMB>10</MaxFileSizeInMB>
      <MaxFilesToRetain>10</MaxFilesToRetain>
      <RotationFrequency unit="minute">10</RotationFrequency>
    </FileRotationOptions>
  </File>
  <logLevel>ERROR</logLevel>
</MessageLogging>

Dateirotation basierend auf Zeit und Größe.

Für den Stream aktiviert

<MessageLogging name="LogPolicy">
  <File>
  ....
  ....
  </File>
  <BufferMessage>true</BufferMessage>
</MessageLogging>

Nachrichtenprotokollierung mit Stream


Elementverweis

Verwenden Sie die folgenden Elemente, um den MessageLogging-Richtlinientyp zu konfigurieren.

Feldname Feldbeschreibung

File

Lokales Dateiziel. (Datei-Logging wird nur in Edge für Private Cloud-Bereitstellungen unterstützt.) Informationen zum Speicherort von Dateien finden Sie unter Speicherort der Protokolldateien in Edge für Private Cloud.

Message Erstellen Sie die Nachricht, die an die Logdatei gesendet werden soll. Kombinieren Sie dazu Text mit Variablen, um die gewünschten Informationen zu erfassen. Beispiele
FileName Name der Protokolldatei, in der die Meldung protokolliert wird.
FileRotationOptions
rotateFileOnStartup

Attribut. Gültige Werte: true/false

Ist die Richtlinie auf „true“ gesetzt, wird die Logdatei bei jedem Neustart der Messaging-Engine rotiert.

FileRotationType Gibt die Rotationsrichtlinie (size oder time) einer Logdatei an.
MaxFileSizeInMB (Bei Auswahl von size als Rotationstyp) Gibt die Größe einer Logdatei an, die den Server dazu veranlasst, Logeinträge in eine separate Datei zu verschieben. Sobald die Logdatei die angegebene Größe erreicht hat, benennt der Server die aktuelle Logdatei um.
RotationFrequency (Bei Auswahl von time als Rotationstyp) Gibt die Zeit in Minuten an, während der der Server Logeinträge in eine separate Datei verschiebt. Nach Ablauf des angegebenen Intervalls wird die aktuelle Protokolldatei umbenannt.
MaxFilesToRetain

Gibt die maximale Anzahl von Dateien an, die im Zusammenhang mit Ihren Rotationseinstellungen beibehalten werden sollen. Der Standardwert ist 8.

Wenn Sie null (0) angeben, werden die Logdateien auf unbestimmte Zeit aufbewahrt, unterliegen jedoch Ihren Einstellungen für die Dateirotation, wobei keine der Dateien gelöscht oder umbenannt wird. Um künftig solche Fehler zu vermeiden, sollten Sie diesen Wert auf einen Wert größer als null setzen oder ein regelmäßiges, automatisiertes System zum dauerhaften Löschen oder Archivieren älterer aufbewahrter Protokolldateien implementieren.

BufferMessage

Wenn für Ihren Proxy HTTP-Streaming aktiviert ist, werden Anfrage-/Antwortnachrichten nicht zwischengespeichert. Wenn Sie Inhalte protokollieren möchten, für die ein Parsen der Flussnachricht erforderlich ist, setzen Sie BufferMessage auf "true". Ein Beispiel hierfür findest du auf dem Beispiel-Tab „Stream-aktiviert“. Standardwert: false

Syslog

Ein Syslog-Ziel. Informationen zum Senden von Syslog an Splunk, Sumo Logic oder Loggly finden Sie unter Drittanbieter-Logverwaltungsdienste konfigurieren.

Message

Erstellen Sie die Nachricht, die an den Syslog gesendet werden soll. Kombinieren Sie Text mit Variablen, um die gewünschten Informationen zu erfassen. Beispiele

Hinweis: Antwortvariablen sind nach einem Fehlerfluss nicht in PostClientFlow verfügbar. Verwenden Sie Nachrichtenvariablen, um Antwortinformationen sowohl für Fehler- als auch für Erfolgsszenarien zu protokollieren. Siehe auch Nutzungshinweise.

Host Der Hostname oder die IP-Adresse des Servers, an den der Syslog gesendet werden soll. Wenn Sie dieses Element nicht angeben, wird "localhost" als Standard verwendet.
Port Port, an dem der Syslog ausgeführt wird. Wenn Sie dieses Element nicht angeben, ist der Standardwert 514.
Protocol TCP oder UDP (Standardeinstellung). UDP ist leistungsfähiger, aber das TCP-Protokoll garantiert die Zustellung von Nachrichtenlogs an den Syslog-Server. Zum Senden von Syslog-Nachrichten über TLS/SSL wird nur TCP unterstützt.
FormatMessage

true oder false (Standard)

Optional, für die Verwendung mit Loggly ist jedoch <FormatMessage>true</FormatMessage> erforderlich.

Mit diesem Element können Sie das Format von Apigee-generierten Inhalten steuern, die der Nachricht vorangestellt werden. Ist die Richtlinie auf "true" gesetzt, wird der Syslog-Nachricht eine feste Anzahl von Zeichen vorangestellt, sodass Sie diese Informationen aus den Nachrichten herausfiltern können. Hier ist ein Beispiel für das feste Format:

<14>1 2023-03-20T09:24:39.039+0000 e49cd3a9-4cf6-48a7-abb9-7ftfe4d97d00 Apigee-Edge - - - Message starts here

Die von Apigee generierten Informationen umfassen:

  • <14> – ein Prioritätswert (siehe Syslog-Protokoll) basierend auf der Log-Ebene und der Einrichtungsebene der Nachricht.
  • 1 – Die aktuelle Syslog-Version.
  • Datum mit UTC-Versatz (UTC = +0000).
  • Nachrichtenprozessor-UUID.
  • "Apigee-Edge - - - "

Bei Einstellung auf "false" (Standardwert) werden der Nachricht diese festgelegten Zeichen nicht vorangestellt.

PayloadOnly

true oder false (Standard)

Mit diesem Element wird das Format von Apigee generierten Nachrichten so festgelegt, dass sie nur den Text der Syslog-Nachricht enthalten, ohne die von FormatMessage angegebenen vorangestellten Zeichen.

Wenn Sie dieses Element nicht einfügen oder leer lassen, wird der Standardwert false verwendet.

Siehe FormatMessage.

DateFormat

Optional.

Ein String für eine Formatierungsvorlage, die zum Formatieren des Zeitstempels für jede Lognachricht verwendet wird. Standardmäßig verwendet Apigee yyyy-MM-dd'T'HH:mm:ss.SSSZ. Das Verhalten dieser Vorlage wird in der Dokumentation zur Java-Klasse SimpleDateFormat beschrieben.

SSLInfo

Ermöglicht die Protokollierung von Nachrichten über SSL/TLS. Wird mit dem Unterelement <Enabled>true</Enabled> verwendet.

Wenn Sie dieses Element nicht angeben oder es leer lassen, ist der Standardwert "false" (kein TLS/SSL).

<SSLInfo>
    <Enabled>true</Enabled>
</SSLInfo>

Sie können das <SSLInfo>-Tag genauso konfigurieren wie auf einem TargetEndpoint, einschließlich der Aktivierung von bidirektionalem TLS/SSL, wie in der API-Proxy-Konfigurationsreferenz beschrieben. Es wird nur das TCP-Protokoll unterstützt.

logLevel

Optional.

Gültige Werte: INFO (Standard), ALERT, WARN, ERROR

Sie können eine bestimmte Informationsmenge festlegen, die im Nachrichtenprotokoll enthalten sein soll.

Wenn Sie das Element FormatMessage mit der Einstellung "true" verwenden, wirkt sich die Einstellung logLevel auf den berechneten Prioritätswert (die Zahl in den spitzen Klammern) in den von Apigee generierten Informationen aus.

Schemas


Nutzungshinweise

Wenn Sie eine MessageLogging-Richtlinie an einen API-Proxy-Flow anhängen, sollten Sie diesen in die ProxyEndpoint-Antwort in einem speziellen Ablauf namens PostClientFlow einfügen. Der PostClientFlow wird ausgeführt, nachdem die Antwort an den anfordernden Client gesendet wurde. Dadurch wird sichergestellt, dass alle Messwerte für Logging verfügbar sind. Weitere Informationen zur Verwendung von PostClientFlow finden Sie in der API-Proxy-Konfigurationsreferenz.

Der PostClientFlow hat zwei Möglichkeiten:

  1. Es wird nur als Teil des Antwortflusses ausgeführt.
  2. Es ist der einzige Fluss, der ausgeführt wird, wenn der Proxy den Fehlerstatus erreicht.

Da sie unabhängig davon ausgeführt wird, ob der Proxy erfolgreich war oder fehlgeschlagen ist, können Sie MessageLogging-Richtlinien in den PostClientFlow einfügen und so dafür sorgen, dass sie immer ausgeführt werden.

Das folgende Trace-Image zeigt eine MessageLogging-Richtlinie, die als Teil des PostClientFlow ausgeführt wird, nachdem die DefaultFaultRule ausgeführt wurde:

In diesem Beispiel hat die Richtlinie „API-Schlüssel verifizieren“ den Fehler aufgrund eines ungültigen Schlüssels verursacht.

Im Folgenden sehen Sie die ProxyEndpoint-Definition mit PostClientFlow:

<ProxyEndpoint name="default">
  ...
  <PostClientFlow>
    <Response>
      <Step>
        <Name>Message-Logging-1</Name>
      </Step>
    </Response>
  </PostClientFlow>
  ...
</ProxyEndpoint>

Edge protokolliert Nachrichten als einfachen Text und Sie können das Logging so konfigurieren, dass Variablen wie das Datum und die Uhrzeit des Empfangs der Anfrage oder Antwort, die Nutzeridentität in der Anfrage, die Quell-IP-Adresse, von der die Anfrage gesendet wurde, usw. enthält. Edge protokolliert die Nachricht asynchron, was bedeutet, dass keine Latenz, die durch blockierende Callouts verursacht werden kann, in Ihre API eingebracht wird.

Die MessageLogging-Richtlinie schreibt protokollierte Nachrichten im Speicher in einen Zwischenspeicher. Der Nachrichten-Logger liest Nachrichten aus dem Zwischenspeicher und schreibt sie in das von Ihnen konfigurierte Ziel. Jedes Ziel hat einen eigenen Zwischenspeicher.

Wenn die Schreibrate für den Zwischenspeicher über die Leserate hinausgeht, schlagen das Pufferüberlauf und das Logging fehl. In diesem Fall kann die Logdatei eine Meldung mit folgendem Inhalt enthalten:

Log message size exceeded. Increase the max message size setting

Wenn dieses Problem in Edge für Private Cloud 4.15.07 und früher auftritt, suchen Sie die Datei message-logging.properties und verwenden Sie diese Lösung:

Erhöhen Sie das Attribut max.log.message.size.in.kb (Standardwert = 128 KB) in der Datei message-logging.properties.

Legen Sie für Edge for Private Cloud 4.16.01 und höher das Attribut conf_message-logging_max.log.message.size.in.kb in der Datei /opt/apigee/customer/application/message-processor.properties fest und starten Sie den Message Processor neu.

Hinweis: Die Variablen von Antwortnachrichten in Edge sind im Fehlerfluss nicht verfügbar. Diese Variablen sind auch nicht im PostClientFlow verfügbar, wenn der vorherige Ablauf der Fehlerfluss war. Wenn Sie Antwortinformationen aus dem PostClientFlow protokollieren möchten, verwenden Sie das message-Objekt. Mit diesem Objekt können Sie Header und andere Informationen aus der Antwort abrufen, unabhängig davon, ob ein Fehler aufgetreten ist oder nicht. Weitere Informationen und ein Beispiel finden Sie unter Nachrichtenvariablen.

Zeitstempel von Lognachrichten in Edge für Private Cloud steuern

Standardmäßig hat der Zeitstempel in allen Logeinträgen folgendes Format:

yyyy-MM-dd'T'HH:mm:ss.SSSZ

Diese systemweite Standardeinstellung kann für Syslog-Ziele mit dem Element DateFormat überschrieben werden. Das Verhalten dieser Vorlage wird in der Dokumentation zur Java-Klasse SimpleDateFormat beschrieben. Gemäß dieser Definition wird yyyy durch eine vierstellige Jahreszahl, MM durch eine zweistellige Monatsnummer ersetzt usw. Das obige Format kann zu einem String der folgenden Form führen:

2022-09-28T22:38:11.721+0000

Sie können die Eigenschaft conf_system_apigee.syslogger.dateFormat auf dem Edge Message Processor verwenden, um dieses Format zu steuern. Ändern Sie beispielsweise das Nachrichtenformat in:

yy/MM/dd'T'HH:mm:ss.SSSZ

Wenn die Bindestriche durch Schrägstriche ersetzt und auf ein zweistelliges Jahr verkürzt werden, wird ein Zeitstempel im folgenden Format erfasst:

22/09/28T22:38:11.721+0000

So ändern Sie das Format:

  1. Öffnen Sie die Datei message-processor.properties in einem Editor. Wenn die Datei nicht vorhanden ist, erstellen Sie sie:
    > vi /opt/apigee/customer/application/message-processor.properties
  2. Legen Sie die Attribute wie gewünscht fest:
    conf_system_apigee.syslogger.dateFormat=yy/MM/dd'T'HH:mm:ss.SSSZ
  3. Speichern Sie die Änderungen.
  4. Achten Sie darauf, dass die Attributdatei dem Benutzer „apigee“ gehört:
    > chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Starten Sie den Edge-Nachrichtenprozessor neu:
    > /opt/apigee/apigee-service/bin/apigee-service-Edge-Nachrichtenprozessor-Neustart

Speicherort der Protokolldatei in Edge für Private Cloud

Edge für Private Cloud 4.16.01 und höher

Private Cloud-Meldungslogs befinden sich standardmäßig auf Message Processor-Knoten in folgendem Verzeichnis:

/opt/apigee/var/log/edge-message-processor/messagelogging/org_name/environment/api_proxy_name/revision/logging_policy_name/

Sie können den Standardspeicherort für das Protokoll ändern, indem Sie die Attribute in der Datei message-logging.properties der Message Processors ändern:

  • bin_setenv_data_dir: Legt den Stammpfad für die Speicherung der Logdateien fest. Beispiel:bin_setenv_data_dir=/opt/apigee/var/log
  • conf_message-logging_log.root.dir – Wenn Sie dafür einen relativen Pfad wie conf/message-logging.properties+log.root.dir=custom/folder/, the path is appended to the bin_setenv_data_dir location. festlegen

    Wenn Sie dafür einen absoluten Pfad wie conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages festlegen, werden Nachrichtenlogs in /opt/apigee/var/log/messages/messagelog/ gespeichert. Ein absoluter Pfad hat Vorrang vor bin_setenv_data_dir.

    Sie müssen das Attribut als conf/message-logging.properties+log.root.dir referenzieren, da es standardmäßig auskommentiert ist. Weitere Informationen finden Sie unter Token festlegen, das derzeit auskommentiert ist.

Wenn Sie Logdateien in einer flachen Dateistruktur speichern möchten, sodass sich alle Logdateien im selben Verzeichnis befinden, setzen Sie conf/message-logging.properties+enable.flat.directory.structure in der Datei message-logging.properties auf "true". Nachrichten werden in dem Verzeichnis gespeichert, das in den oben genannten Attributen angegeben wurde. Die Dateinamen haben das Format {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename}.

So legen Sie diese Eigenschaften fest:

  1. Öffnen Sie die Datei message-processor.properties in einem Editor. Wenn die Datei nicht vorhanden ist, erstellen Sie sie:
    > vi /opt/apigee/customer/application/message-processor.properties
  2. Legen Sie die Attribute wie gewünscht fest:
    conf/message-logging.properties+log.root.dir=/opt/apigee/var/log/messages
  3. Speichern Sie die Änderungen.
  4. Achten Sie darauf, dass die Attributdatei dem Benutzer „apigee“ gehört:
    > chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Starten Sie die Edge-Komponente neu:
    > /opt/apigee/apigee-service/bin/apigee-service-Edge-Message-processor-Neustart

Edge für Private Cloud 4.15.07 und niedriger

Meldungslogs befinden sich standardmäßig an folgendem Speicherort auf Nachrichtenprozessoren:

/opt/apigee4/var/log/apigee/message-processor/messagelog/{org}/{environment}/{api_proxy_name}/{revision}/{logging_policy_name}/

Sie können den Standardspeicherort für Logs ändern, indem Sie die folgenden Attribute in der Datei „message-logging.properties“ für die Nachrichtenprozessoren ändern:

  • data.dir: Legt den Stammpfad für die Speicherung der Logdateien fest. Beispiel: data.dir=/opt/apigee4/var/log
  • log.root.dir – Wenn Sie einen relativen Pfad angeben, z. B. log.root.dir=custom/folder/, wird der Pfad an den Speicherort data.dir angehängt.

Die Kombination der beiden Attribute würde beispielsweise das Logging-Verzeichnis unter /opt/apigee4/var/log/custom/folder/messagelog/ festlegen (beachten Sie, dass /messagelog automatisch hinzugefügt wird).

Wenn Sie dies auf einen absoluten Pfad wie log.root.dir=/opt/apigee4/var/log/messages festlegen, werden Meldungsprotokolle in /opt/apigee4/var/log/messages/messagelog/ gespeichert. Ein absoluter Pfad in log.root.dir hat Vorrang vor data.dir.

Wenn Sie Protokolldateien in einer flachen Dateistruktur speichern möchten, sodass sich alle Protokolldateien im selben Verzeichnis befinden, setzen Sie die Eigenschaft enable.flat.directory.structure in der Datei message-logging.properties auf Nachrichtenprozessoren auf „true“. Nachrichten werden in dem Verzeichnis gespeichert, das in den oben genannten Attributen angegeben wurde. Die Dateinamen haben das Format {org}_{environment}_{api_proxy_name}_{revision}_{logging_policy_name}_{filename}.

Standardwerte für Variablen in Nachrichtenvorlagen

Standardwerte können für jede Variable in der Nachrichtenvorlage separat angegeben werden. Wenn beispielsweise die Variable request.header.id nicht aufgelöst werden kann, wird der Wert durch den Wert unknown ersetzt.

<Message>This is a test message. id = {request.header.id:unknown}</Message>

Für alle nicht aufgelösten Variablen kann ein gemeinsamer Standardwert angegeben werden. Dazu legen Sie das Attribut defaultVariableValue für das Element Message fest:

<Message defaultVariableValue="unknown">This is a test message. id = {request.header.id}</Message>

Dienste für die Logverwaltung von Drittanbietern konfigurieren

Mit der MessageLogging-Richtlinie können Sie Syslog-Nachrichten an Dienste von Drittanbietern für die Logverwaltung wie Splunk, Sumo Logic und Loggly senden. Wenn Sie Syslog an einen dieser Dienste senden möchten, lesen Sie in der Dokumentation dieses Dienstes nach, wie Sie den Host, den Port und das Protokoll des Dienstes konfigurieren. Legen Sie dann das Syslog-Element für diese Richtlinie entsprechend fest.

Weitere Informationen finden Sie in der folgenden Dokumentation zum Konfigurieren der Konfiguration von Drittanbieter-Logs:

Fehlerreferenz

In diesem Abschnitt werden die Fehlercodes und Fehlermeldungen beschrieben, die zurückgegeben werden, sowie die Fehlervariablen, die von Edge festgelegt werden, wenn diese Richtlinie einen Fehler auslöst. Diese Informationen sind wichtig, wenn Sie Fehlerregeln zur Verarbeitung von Fehlern entwickeln. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen und Fehler beheben.

Laufzeitfehler

Diese Fehler können bei Ausführung der Richtlinie auftreten.

Fehlercode HTTP-Status Ursache
steps.messagelogging.StepDefinitionExecutionFailed 500 Siehe Fehlerstring.

Bereitstellungsfehler

Diese Fehler können auftreten, wenn Sie einen Proxy bereitstellen, der diese Richtlinie enthält.

Fehlername Ursache Problembehebung
InvalidProtocol Die Bereitstellung der <Protocol>MessageLogging-Richtlinie kann mit diesem Fehler fehlschlagen, wenn das im -Element angegebene Protokoll nicht gültig ist. Gültige Protokolle sind TCP und UDP. Zum Senden von Syslog-Nachrichten über TLS/SSL wird nur TCP unterstützt.
InvalidPort Die Bereitstellung der MessageLogging-Richtlinie kann mit diesem Fehler fehlschlagen, wenn die Portnummer nicht im Element <Port> angegeben oder ungültig ist. Die Portnummer muss eine Ganzzahl größer als null sein.

Fehlervariablen

Diese Variablen werden bei Laufzeitfehlern festgelegt. Weitere Informationen finden Sie unter Was Sie über Richtlinienfehler wissen müssen.

Variablen Wo Beispiel
fault.name="fault_name" fault_name ist der Name des Fehlers, der in der obigen Tabelle Laufzeitfehler aufgeführt ist. Der Fehlername ist der letzte Teil des Fehlercodes. fault.name Matches "StepDefinitionExecutionFailed"
messagelogging.policy_name.failed policy_name ist der benutzerdefinierte Name der Richtlinie, die den Fehler ausgelöst hat. messagelogging.ML-LogMessages.failed = true

Beispiel für eine Fehlerantwort

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.messagelogging.StepDefinitionExecutionFailed"
      },
      "faultstring":"Execution failed"
   }
}

Beispiel für eine Fehlerregel

<FaultRule name="MessageLogging">
    <Step>
        <Name>ML-LogMessages</Name>
        <Condition>(fault.name Matches "StepDefinitionExecutionFailed") </Condition>
    </Step>
    <Condition>(messagelogging.ML-LogMessages.failed = true) </Condition>
</FaultRule>


Ablaufvariablen

Die folgenden Variablen werden bei einem Richtlinienfehler ausgefüllt.

  • messagelogging.failed
  • messagelogging.{stepdefinition-name}.failed

Weitere Informationen