nelle nostre app rails abbiamo sempre una sezione '/su' o 'super utente'. mettiamo cose come report in quel backend. recentemente avevo bisogno di consentire ai super utenti di visualizzare i log in tempo reale dal browser (per assistere nella risoluzione dei problemi di firewall per un server di licenze che abbiamo costruito). ho considerato di fare qualcosa di intelligente come i websocket e poi sono diventato sano di mente e ho deciso semplicemente di fare la cosa più semplice che potesse funzionare - ricorda, questo è solo per super utenti quindi l'approccio di polling è juuuust dandy…
il primo passo è stato configurare un'azione e una visualizzazione che potessero seguire un log, mostrarlo e poi aggiornarlo con ajax polling. la ciliegina sulla torta è stata aggiungere un'interfaccia utente elegante (aka link) che potesse avviare e interrompere il polling
ecco la maggior parte del codice rilevante
il secondo passo, mostrato in quel gist, è stato silenziare la funzione di logger ricorsivo che avevo inavvertitamente aggiunto: ovvero - il polling ajax stesso ha creato tonnellate di output del logger.
ecco qua. bassa tecnologia. facile. k.i.s.s. log tailing per amministratori.