prohlížení protokolů Live in Windows
ve světě řešení problémů s aplikacemi jsou protokoly aplikace vaším nejlepším přítelem. Někdy víte, kdy se vaše chyba děje, ale někdy potřebujete vědět, až do okamžiku, kdy se chyba objeví v souborech protokolu. Jinými slovy, někdy chcete zobrazit všechny aktualizace protokolu přesně tak, jak k nim dochází. Pokud pracujete v systému Windows a ocitnete se v této pozici, zde je rychlý přehled mých oblíbených způsobů živého zobrazení souborů protokolu.
pro tyto příklady používám instanci Sitecore, ale tyto metody fungují pro prohlížení všech textových protokolů, nejen protokolů Sitecore.
Metoda 1: Windows PowerShell
v prostředí Windows PowerShell je základním příkazem pro živé zobrazení aktualizací souboru:
Get-Content {MyFile} -Wait -Tail 30
použití:
cd C:\inetpub\wwwroot\MySitecoreInstance\Data\logsGet-Content Log.20160706.txt -Wait -Tail 30
v případě Sitecore a pravděpodobně mnoha dalších řešení je Naposledy upraveným souborem aktivní protokol. Zde je příkaz, který jsem napsal, abych automaticky získal obsah v Naposledy upraveném souboru (který odpovídá protokolu Sitecore.*.txt pattern) v adresáři:
cd C:\inetpub\wwwroot\MySitecoreInstance\Data\logsgci -Filter log.*.txt | sort LastWriteTime | select -last 1 | Get-Content -Wait -Tail 30
sledování Sitecore spin up z protokolu…
výhodou této metody je její dostupnost v jakémkoli systému, který má nainstalovaný PowerShell, a PowerShell je ve výchozím nastavení nainstalován v systémech se systémem Windows 7 a vyšším. Menší nevýhodou, když jsem spustil tento příkaz na systémech Win7, je nízká obnovovací frekvence. Zdá se, že to bylo opraveno ve Win8u.
Metoda 2: Baretail.exe
pojmenovaný po příkazu „tail“ ze světa Unix/Linux, Baretail je svobodný, lehký, samostatný spustitelný soubor. Baretail je jedním úkolem je live-view log souborů, a to také sportovní některé pěkné funkce, jako je barevné kódování. Když jsem použil tuto aplikaci, to sloužilo svému účelu docela pěkně. Baretail inherentní nevýhodou je, že některé systémy budou více uzamčeny (číst: výrobní servery), a to znamená, že neběží .exe soubory, které jste stáhli z Internetu. To je důvod, proč Metoda 1 je pro mě běžnější; existuje mnohem větší šance, že PowerShell bude na serveru. Za zmínku také stojí, že Baretail neviděl novou verzi vydanou od roku 2006,ale aplikace se stále zdá být kompatibilní s nejnovější verzí systému Windows 10.
řekl jsem Baretail, aby zvýraznil řádky obsahující „chyba“.
slyšel jsem Doc Monitor plugin pro Notepad++ zmínil jako řešení podobné Baretail.exe, ale sám jsem to nezkoušel. Předpokládám, že to bude čelit podobným nevýhodám: bude to použitelné pouze v systémech, kde je nainstalován Poznámkový blok++.
Metoda 3: Příkaz ocasu
to bude vzácný případ, ale házím to pro rozmanitost. Předpokládejme, že pracujete na systému, který má subsystém Windows pro Linux*, Cygwin nebo něco jiného, co poskytuje shell podobný Unixu v systému Windows. Pokud jste součástí tohoto případu edge, máte k dispozici příkaz Tail, který existuje po celá desetiletí a je velmi slušný. Podobně jako příkaz PowerShell, který jsem napsal, pomocí tohoto příkazu* * ve vašem shellu vytáhne aktuální protokol Sitecore a bude následovat:
tail -f `ls -t /mnt/c/inetpub/wwwroot/MySitecoreInstance/Data/logs/log.* | head -n1`
ocas běží na Windows subsystému pro Linux.
*od 7/6/16 je systém Windows Subsystem pro Linux stále v beta verzi a je k dispozici pouze pro uživatele systému Windows 10, kteří jsou součástí programu Windows Insider a povolili rychlé aktualizace vyzvánění. To se samozřejmě v budoucnu změní.
* * ve WSL je jednotka C mapována na /mnt / c/ . V Cygwinu je jednotka C mapována na /cygdrive/c/ .
Čestné uznání: Sitecore Log Analyzer
pro vás vývojáři Sitecore, musím to hodit, protože je to tak cenný nástroj a vidím tolik vývojářů Sitecore, kteří ani nevědí, že existuje: Sitecore Log Analyzer (SCLA). I když to neumožňuje zobrazit soubory protokolu naživo, SCLA poskytuje podrobnou analýzu souborů protokolu, což usnadňuje sledování trendů chyb, časových os a dalších. SCLA považuji za základní nástroj pro podporu Sitecore.
o autorovi
Jacob King je Senior technický konzultant pro Perficient, specializující se na Sitecore řešení. Žije v Indianapolis se svou ženou a synem.
Více od tohoto autora