Dépannage des extensions de protocole

Si votre fonction d’extension ne se comporte pas comme prévu, vous pouvez utiliser la fonctionnalité de suivi d’extension pour vérifier le comportement de votre fonction d’extension. Vous pouvez également ajouter la journalisation à votre fonction d’extension à l’aide de la fonctionnalité de journalisation personnalisée, dans laquelle vous pouvez définir le niveau de journalisation à capturer sur l’appliance Citrix ADC.

Journalisation personnalisée

Vous pouvez également ajouter votre propre journalisation à votre fonction d’extension. Pour ce faire, utilisez la fonction ns.logger:level () intégrée, où level est urgence, alert, critique, error, warning, notice, info ou debug. Les paramètres sont les mêmes que la fonction C printf() : une chaîne de format et un nombre variable d’arguments pour fournir les valeurs pour le % spécifié dans la chaîne de format. Par exemple, vous pouvez ajouter ce qui suit à la fonction COMBINE_HEADERS pour consigner le résultat d’un appel :

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

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

return result_str

La fonction ci-dessus enregistrerait le message suivant vers/var/log/ns.log pour l’exemple d’entrée illustré dans les exemples de messages de journal abrégés dans la section Suivi des extensions ci-dessus.

... : 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"

Dépannage des extensions de protocole