协议扩展疑难解答

如果您的扩展函数未按预期运行,则可以使用扩展跟踪功能来验证扩展函数的行为。您还可以使用自定义日志记录功能向扩展函数添加日志记录,在其中可以定义要在 NetScaler 设备上捕获的日志级别。

自定义日志

您也可以将自己的日志添加到扩展函数中。为此,请使用内置的 ns.logger: level () 函数,其中级别为紧急、警报、严重、错误、警告、通知、信息或调试。参数与 C printf () 函数相同:一个格式字符串和一个可变数量的参数,用于为格式字符串中指定的百分比提供值。例如,您可以将以下内容添加到 COMBINE_HEADERS 函数中以记录调用结果:

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

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

return result_str
<!--NeedCopy-->

上述函数将记录以下消息托 /var/log/ns.log 记录上述扩展跟踪部分中缩写的日志消息示例中显示的示例输入。

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

协议扩展疑难解答