2016-12-01 5 views
0

.vcl 파일을 디버깅하려고합니다. vmod_std 및 std.log 또는 std.syslog를 사용하여 일부 출력을 만들고 내 요청 경로를 추적하고 싶습니다. std.syslog가 var/log/syslog에 쓰지 않습니다. 나는 rsyslog.d에 대한 50-default.conf를보고 서비스를 다시 시작하려고 시도했다. std.log이광택에서 varnishlog 또는 syslog에 쓸 수 없습니다.

*** 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); 
} 

이 모든 디버그하기가 매우 어렵게된다. 바니시를 사용 중입니다. 3.0

답변

0

std.log를 컴파일해야합니다. vcl 파일의 시작 부분에 std를 가져 왔습니까?

import std; 

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

이 컴파일, 당신은 varnishlog과 (다른 사람의 사이에서) 로그를 볼 수 있어야합니다 경우 ...