我正在尝试调试我的.vcl文件。我想使用vmod_std和std.log或std.syslog来创建一些输出并跟踪我的请求的路径。 std.syslog没有写入var / log / syslog。我查看了rsyslog.d的50-default.conf并尝试重新启动该服务。 std.log导致varnish编译失败并显示
之类的消息*** Killing all processes...
*** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...
*** Running /etc/my_init.d/99-varnish.sh...
Message from VCC-compiler:
Expected an action, 'if', '{' or '}'
('routines.vcl' Line 84 Pos 3)
std.log("********* FIND THIS IN THE LOG **************");
--#######--------------------------------------------------
Running VCC-compiler failed, exit 1
VCL compilation failed
*** /etc/my_init.d/99-varnish.sh failed with status 2
包含该日志记录的子例程只是
sub cache_this {
std.log("log text");
return(lookup);
}
这使得调试非常困难。 我正在使用Varnish 3.0
答案 0 :(得分:0)
std.log应该编译。 您是否在vcl文件的开头导入了std?
import std;
sub cache_this {
std.log("log text");
return(lookup);
}
如果进行此编译,您应该可以使用varnishlog
...