2016-12-01 91 views
0

我想调试我的.vcl文件。我想使用vmod_std和std.log或std.syslog来创建一些输出并跟踪我的请求的路径。 std.syslog不写入var/log/syslog。我查看了rsyslog.d的50-default.conf并尝试重新启动服务。 std.log导致清漆编译失败,消息像无法写入varnishlog或系统日志清漆

*** 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

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

import std; 

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

如果编译,你应该能够看到你的日志(等等)与varnishlog ...