2012-09-25 14 views
17

Come posso print a log in VCL?Come eseguire il debug di VCL in vernice?

Posso stampare le informazioni del registro sullo schermo?

Posso fare così?

sub vcl_recv { 
    .... 
    log.info(req.http.host); // can i write a log here? 
    .... 
} 
+1

Controllare se si sta chiedendo 'varnishd -cf file_name' – Tamil

risposta

20

Potete vedere URL con l'utilità URL richiesti varnishlog (è in grado di scrivere i file di log)

varnishlog -i RxURL 

o uscita alcune informazioni a syslog con std VMOD e la funzione syslog per Vernice 3.x https://www.varnish-cache.org/docs/trunk/reference/vmod_std.html#syslog Vernice 5,1 https://varnish-cache.org/docs/5.1/reference/vmod_std.generated.html#func-syslog

Esempio:

import std; 

sub vcl_recv { 
    ... 
    std.syslog(180, "RECV: " + req.http.host + req.url); 
    ... 
} 

O con C-frammento su Vernice 2.x https://www.varnish-cache.org/trac/wiki/VCLExampleSyslog

+0

VCC-compilatore non riuscita: Messaggio del VCC-compilatore: aspettava un'azione, 'se', '{' o '}' ('input' Riga 49 Pos 9) std.syslog (180, "RECV:" + req.http.host + req.url); – lichengwu

+0

quale versione di Varnish hai? potresti mostrare il tuo vcl? – ghloogh

+0

la mia versione di vernice è 3.0.1. [There is my vcl] (https://gist.github.com/3797290). – lichengwu

12

Utilizzando un vcl config file, importare il aggiuntivi inclusi "libreria standard", che comprende una serie di funzioni di utilità:

import std; 

# To 'varnishlog' 
std.log("varnish log info:" + req.host); 

# To syslog 
std.syslog(LOG_USER|LOG_ALERT, "There is serious troble"); 

v5.x - https://www.varnish-cache.org/docs/5.0/reference/vmod_std.generated.html?#func-log

V4.x - https://www.varnish-cache.org/docs/4.0/reference/vmod_std.generated.html?#func-log

v3.x - (deprecato) https://www.varnish-cache.org/docs/3.0/reference/vmod_std.html#log

Vedi anche man varnishlog

Problemi correlati