Wyświetlanie dzienników na żywo w systemie Windows
w świecie rozwiązywania problemów z aplikacjami Dzienniki aplikacji są twoim najlepszym przyjacielem. Czasami wiesz, kiedy pojawia się błąd, ale czasami musisz wiedzieć, aż do momentu, w którym błąd pojawia się w plikach dziennika. Innymi słowy, czasami chcesz wyświetlić wszystkie aktualizacje dziennika dokładnie tak, jak się zdarzają. Jeśli pracujesz w systemie Windows i znajdujesz się w tej pozycji, oto krótki przegląd moich ulubionych sposobów na podgląd plików dziennika na żywo.
używam instancji Sitecore do tych przykładów, ale te metody działają do przeglądania wszystkich dzienników tekstowych, a nie tylko dzienników Sitecore.
Metoda 1: Windows PowerShell
w Windows PowerShell podstawowe polecenie do Podglądu na żywo aktualizacji pliku to:
Get-Content {MyFile} -Wait -Tail 30
użycie:
cd C:\inetpub\wwwroot\MySitecoreInstance\Data\logsGet-Content Log.20160706.txt -Wait -Tail 30
w przypadku Sitecore i prawdopodobnie wielu innych rozwiązań, ostatnio zmodyfikowanym plikiem jest active log. Oto polecenie, które napisałem, aby automatycznie pobrać zawartość ostatnio zmodyfikowanego pliku (który pasuje do dziennika Sitecore.*.wzorzec txt) w katalogu:
cd C:\inetpub\wwwroot\MySitecoreInstance\Data\logsgci -Filter log.*.txt | sort LastWriteTime | select -last 1 | Get-Content -Wait -Tail 30
oglądanie Sitecore z dziennika…
zaletą tej metody jest jej dostępność w dowolnym systemie, który ma zainstalowany PowerShell,a PowerShell jest instalowany domyślnie w systemach z systemem Windows 7 i nowszymi. Drobną wadą, gdy uruchamiam to polecenie na systemach Win7, jest niska częstotliwość odświeżania. Wydaje się, że zostało to naprawione w Win8.
Metoda 2: Baretail.exe
nazwany na cześć polecenia „tail” ze świata Unix/Linux, Baretail jest darmowym, lekkim, samodzielnym programem wykonywalnym. Jednym z zadań Baretail jest podgląd plików dziennika na żywo, a także zawiera kilka fajnych funkcji, takich jak kodowanie kolorami. Kiedy korzystałem z tej aplikacji, całkiem ładnie spełnił swój cel. Nieodłączną wadą Baretail jest to, że niektóre systemy będą bardziej zablokowane (Czytaj: serwery produkcyjne), a to oznacza, że nie będą działać .pliki exe, które ściągnąłeś z Internetu. Dlatego metoda 1 jest dla mnie bardziej powszechna; istnieje znacznie większa szansa, że PowerShell będzie na serwerze. Warto również wspomnieć, że Baretail nie widział nowej wersji wydanej od 2006 roku, ale aplikacja nadal wydaje się być zgodna z najnowszą wersją systemu Windows 10.
kazałem Baretailowi podświetlić linie zawierające „błąd”.
słyszałem wtyczkę Doc Monitor dla Notepad++ wspomnianą jako rozwiązanie podobne do Baretail.exe ale sam tego nie próbowałem. Zakładam, że spotka się to z podobnymi wadami: będzie to możliwe tylko w systemach, w których zainstalowany jest Notepad++.
Metoda 3: Polecenie Tail
to będzie rzadki przypadek, ale wrzucam go dla odmiany. Załóżmy, że pracujesz nad systemem, który ma Podsystem Windows dla Linuksa*, Cygwina lub coś innego, co zapewnia powłokę Uniksopodobną w systemie Windows. Jeśli jesteś częścią tego etui edge, masz do dyspozycji polecenie Tail, które istnieje od dziesięcioleci i jest bardzo przyzwoite. Podobnie jak w poleceniu PowerShell, które napisałem, użycie tego polecenia * * w Twojej powłoce spowoduje wyciągnięcie bieżącego dziennika Sitecore i podążanie za nim:
tail -f `ls -t /mnt/c/inetpub/wwwroot/MySitecoreInstance/Data/logs/log.* | head -n1`
ogon działa na Podsystem Windows dla Linuksa.
*od 7/6/16 Podsystem Windows dla systemu Linux jest nadal w wersji beta i jest dostępny tylko dla użytkowników systemu Windows 10, którzy są częścią programu Windows Insider i włączyli szybkie aktualizacje pierścienia. Oczywiście zmieni się to w przyszłości.
* * w WSL napęd C jest mapowany do / mnt / c/. W Cygwinie napęd C jest mapowany do/cygdrive / C/.
wyróżnienie: Sitecore Log Analyzer
dla was, deweloperów Sitecore, muszę to dorzucić, ponieważ jest to tak cenne narzędzie i widzę tak wielu deweloperów Sitecore, którzy nawet nie wiedzą, że istnieje: Sitecore Log Analyzer (SCLA). Chociaż nie pozwala to na wyświetlanie plików dziennika na żywo, SCLA zapewnia szczegółową analizę plików dziennika, ułatwiając śledzenie trendów błędów,osi czasu i innych. Uważam SCLA za niezbędne narzędzie do obsługi Sitecore.
o autorze
Jacob King jest starszym konsultantem technicznym dla sprawnych, specjalizującym się w rozwiązaniach Sitecore. Mieszka w Indianapolis z żoną i synem.
więcej od tego autora