Voglio inserire punti log (io.write) nel mio codice lua che è anch'esso in configurazione nginx (usando HttpLuaModule per nginx). Come si fa? L'accesso e i log degli errori non li mostrano.Come eseguire il debug del codice lua all'interno di nginx config?
risposta
Quando si esegue in nginx, è necessario utilizzare ngx.log. Ad esempio:
ngx.log(ngx.STDERR, 'your message here')
Per un esempio di lavoro, vedere http://linuxfiddle.net/f/77630edc-b851-487c-b2c8-aa6c9b858ebb
Per la documentazione, vedere http://wiki.nginx.org/HttpLuaModule#ngx.log
Un'altra opzione per Lua debug in nginx (oltre a "stampa") è quello di utilizzare un Lua IDE che supporta il debug remoto. Ho pubblicato instructions su come questo può essere fatto con ZeroBrane Studio IDE. Dopo averlo configurato, ottieni la maggior parte delle funzioni di debug che ti aspetteresti, come stepping, breakpoint, ispezioni di variabili, tracce dello stack e una console per eseguire i comandi Lua da remoto.
grazie Paul proverò questo metodo. Preferisco questo modo di lavorare piuttosto che stampare i valori tutto il tempo. –
C'è un modo per modificare il formato del messaggio di registro? Attualmente sto ricevendo un messaggio verr lungo, con data, host ecc. . "2017/03/03 05:31:22 [] 44 # 0: * 17 [lua] content_by_lua (proj1.conf: 110): 3: il tuo messaggio qui, client: 172.18.0.1, server:" – maamaa