Visualizzazione dei log Live in Windows
Nel mondo della risoluzione dei problemi delle app, i log dell’app sono i tuoi migliori amici. A volte sai quando si verifica l’errore, ma a volte è necessario sapere, fino al momento, quando l’errore viene visualizzato nei file di registro. In altre parole, a volte si desidera visualizzare tutti gli aggiornamenti del registro esattamente come accadono. Se stai lavorando in Windows e ti trovi in questa posizione, ecco una rapida carrellata dei miei modi preferiti per vivere-visualizzare i file di registro.
Sto usando un’istanza di Sitecore per questi esempi, ma questi metodi funzionano per visualizzare tutti i registri di testo e non solo i registri di Sitecore.
Metodo 1: Windows PowerShell
In Windows PowerShell, il comando di base per gli aggiornamenti live-view di un file è:
Get-Content {MyFile} -Wait -Tail 30
Uso:
cd C:\inetpub\wwwroot\MySitecoreInstance\Data\logsGet-Content Log.20160706.txt -Wait -Tail 30
Nel caso di Sitecore, e probabilmente di molte altre soluzioni, il file modificato più di recente è il registro attivo. Ecco un comando che ho scritto per ottenere automaticamente il contenuto sul file modificato più di recente (che corrisponde al registro di Sitecore.*.modello txt) nella directory:
cd C:\inetpub\wwwroot\MySitecoreInstance\Data\logsgci -Filter log.*.txt | sort LastWriteTime | select -last 1 | Get-Content -Wait -Tail 30
Guardando Sitecore girare dal registro…
Il vantaggio di questo metodo è la sua disponibilità su qualsiasi sistema su cui è installato PowerShell e PowerShell è installato di default sui sistemi che eseguono Windows 7 e versioni successive. Un piccolo inconveniente, quando ho eseguito questo comando su sistemi Win7, è una bassa frequenza di aggiornamento. Questo sembra essere stato risolto in Win8 in poi.
Metodo 2: Baretail.exe
Prende il nome dal comando “tail” dal mondo Unix/Linux, Baretail è un eseguibile gratuito, leggero e autonomo. L’unico lavoro di Baretail è quello di visualizzare i file di registro dal vivo, e presenta anche alcune funzioni interessanti come la codifica dei colori. Quando ho usato questa applicazione, ha servito il suo scopo abbastanza bene. Lo svantaggio intrinseco di Baretail è che alcuni sistemi saranno più bloccati (leggi: server di produzione) e ciò significa che non sono in esecuzione .file exe che hai tirato giù da Internet. Questo è il motivo per cui il metodo 1 è più comune per me; c’è una possibilità molto migliore che PowerShell si trovi su un server. Vale anche la pena ricordare che Baretail non ha visto una nuova versione rilasciata dal 2006, ma l’app sembra ancora essere compatibile con l’ultima versione di Windows 10.
Ho detto a Baretail di evidenziare le linee contenenti “ERRORE”.
Ho sentito il plugin Doc Monitor per Notepad++ menzionato come una soluzione simile a Baretail.exe ma non l’ho provato io stesso. Presumo che questo dovrà affrontare inconvenienti simili: questo sarà utilizzabile solo su sistemi in cui è installato Notepad++.
Metodo 3: Il comando Tail
Questo sarà un caso raro, ma lo sto lanciando per varietà. Supponiamo che tu stia lavorando su un sistema con sottosistema Windows per Linux*, Cygwin o qualcos’altro che fornisce una shell simile a Unix in Windows. Se fai parte di questo caso limite, hai a disposizione il comando Tail, che esiste da decenni ed è molto decente. Simile al comando PowerShell che ho scritto, usando questo comando * * nella tua shell tirerà il registro Sitecore corrente e seguirà:
tail -f `ls -t /mnt/c/inetpub/wwwroot/MySitecoreInstance/Data/logs/log.* | head -n1`
Tail in esecuzione su Sottosistema Windows per Linux.
*A partire dal 7/6/16, Sottosistema di Windows per Linux è ancora in versione beta, e disponibile solo per gli utenti di Windows 10 che fanno parte del programma Windows Insider e hanno abilitato gli aggiornamenti veloci anello. Certo, questo cambierà in futuro.
* * In WSL, l’unità C è mappata su / mnt / c/. In Cygwin, l’unità C è mappata su / cygdrive / c/.
Menzione d’onore: Sitecore Log Analyzer
Per voi sviluppatori di Sitecore, devo buttarlo perché è uno strumento così prezioso e vedo così tanti sviluppatori di Sitecore che non sanno nemmeno che esiste: il Sitecore Log Analyzer (SCLA). Anche se questo non consente di visualizzare i file di log dal vivo, SCLA fornisce un’analisi dettagliata dei file di log, rendendo più facile tenere traccia delle tendenze di errore, timeline, e altro ancora. Considero SCLA uno strumento essenziale per il supporto Sitecore.
Circa l’autore
Jacob King è un consulente tecnico senior per Perficient, specializzantesi nelle soluzioni di Sitecore. Vive a Indianapolis con sua moglie e suo figlio.
Più da questo autore