Résolution des problèmes d’extensions de protocole

Si votre fonction d’extension ne se comporte pas comme prévu, vous pouvez utiliser la fonctionnalité de suivi des extensions 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, qui vous permet de définir le niveau de journalisation à capturer sur l’appliance NetScaler.

Journalisation personnalisée

Vous pouvez également ajouter votre propre journalisation à votre fonction d’extension. Pour ce faire, utilisez la fonction intégrée ns.logger:level (), où le niveau est urgent, alerte, critique, erreur, avertissement, notification, information ou débogage. 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 enregistrer 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
<!--NeedCopy-->

La fonction ci-dessus enregistrerait le message suivant to/var/log/ns.log pour l’exemple d’entrée indiqué dans les exemples de messages de journal abrégés de 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"

Résolution des problèmes d’extensions de protocole