Fehlerbehebung bei Protokollerweiterungen

Wenn sich Ihre Erweiterungsfunktion nicht wie erwartet verhält, können Sie die Erweiterungsprotokollierungsfunktion verwenden, um das Verhalten Ihrer Erweiterungsfunktion zu überprüfen. Sie können der Erweiterungsfunktion auch Protokollierung hinzufügen, indem Sie die benutzerdefinierte Protokollierungsfunktion verwenden, in der Sie die Protokollstufe definieren können, die auf der Citrix ADC Appliance erfasst werden soll.

Benutzerdefinierte Protokollierung

Sie können auch Ihre eigene Protokollierung zu Ihrer Erweiterungsfunktion hinzufügen. Verwenden Sie dazu die integrierte ns.logger:level() -Funktion, wobei levelist: emergency, alert, critical, error, warning, notice, info oder debug. Die Parameter sind die gleichen wie die C printf () -Funktion: eine Formatzeichenfolge und eine variable Anzahl von Argumenten, die Werte für die% angeben, die in der Formatzeichenfolge angegeben werden. Beispielsweise können Sie der COMBINE_HEADERS Funktion Folgendes hinzufügen, um das Ergebnis eines Aufrufs zu protokollieren:

local result_str = table.concat(combined_headers, "\r\n") .. "\r\n\r\n"

ns.logger:info("Result: %s", result_str)

return result_str

Die obige Funktion würde die folgende Meldung nach/var/log/ns.log für die Beispieleingabe protokollieren, die in den abgekürzten Protokollnachrichtenbeispielen im Abschnitt Extension Tracing oben gezeigt wird.

... : default NSEXTENSION Message 143 0 : "Result: Host: 10.217.24.7:2000^M H1: abcd, 1234^M User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3^M Accept: \*/\*^M H2: h2val1, h2val2, h2val3^M ^M"

Fehlerbehebung bei Protokollerweiterungen