无法从varnish写入varnishlog或syslog

时间:2016-12-01 02:51:57

标签: varnish varnish-vcl http-caching

我正在尝试调试我的.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

1 个答案:

答案 0 :(得分:0)

std.log应该编译。 您是否在vcl文件的开头导入了std?

import std;

sub cache_this {
  std.log("log text");
  return(lookup);
}

如果进行此编译,您应该可以使用varnishlog ...

查看您的日志(以及其他内容)