Protokolle live in Windows anzeigen
In der Welt der App-Fehlerbehebung sind die Protokolle der App Ihr bester Freund. Manchmal wissen Sie, wann Ihr Fehler auftritt, aber manchmal müssen Sie bis zu dem Moment wissen, wann der Fehler in den Protokolldateien angezeigt wird. Mit anderen Worten, manchmal möchten Sie alle Aktualisierungen des Protokolls genau so anzeigen, wie sie geschehen. Wenn Sie in Windows arbeiten und sich in dieser Position befinden, finden Sie hier einen kurzen Überblick über meine bevorzugten Möglichkeiten, Protokolldateien live anzuzeigen.
Ich verwende eine Instanz von Sitecore für diese Beispiele, aber diese Methoden dienen zum Anzeigen aller Textprotokolle und nicht nur von Sitecore-Protokollen.
Methode 1: Windows PowerShell
In Windows PowerShell lautet der grundlegende Befehl zum Aktualisieren einer Datei in der Live-Ansicht:
Get-Content {MyFile} -Wait -Tail 30
Verwendung:
cd C:\inetpub\wwwroot\MySitecoreInstance\Data\logsGet-Content Log.20160706.txt -Wait -Tail 30
Im Fall von Sitecore und wahrscheinlich vielen anderen Lösungen ist die zuletzt geänderte Datei das aktive Protokoll. Hier ist ein Befehl, den ich geschrieben habe, um automatisch Inhalte für die zuletzt geänderte Datei abzurufen (die mit dem Protokoll von Sitecore übereinstimmt.*.txt-Muster) im Verzeichnis:
cd C:\inetpub\wwwroot\MySitecoreInstance\Data\logsgci -Filter log.*.txt | sort LastWriteTime | select -last 1 | Get-Content -Wait -Tail 30
Beobachten des Hochfahrens von Sitecore aus dem Protokoll…
Der Vorteil dieser Methode ist die Verfügbarkeit auf jedem System, auf dem PowerShell installiert ist, und PowerShell wird standardmäßig auf Systemen mit Windows 7 und höher installiert. Ein kleiner Nachteil, wenn ich diesen Befehl auf Win7-Systemen ausgeführt habe, ist eine niedrige Bildwiederholfrequenz. Dies scheint ab Win8 behoben worden zu sein.
Methode 2: Baretail.exe
Benannt nach dem Befehl „tail“ aus der Unix / Linux-Welt, ist Baretail eine kostenlose, leichte, eigenständige ausführbare Datei. Baretails eine Aufgabe besteht darin, Protokolldateien live anzuzeigen, und es bietet auch einige nette Funktionen wie Farbcodierung. Wenn ich diese App verwendet habe, hat sie ihren Zweck ganz gut erfüllt. Der inhärente Nachteil von Baretail ist, dass einige Systeme mehr gesperrt werden (sprich: Produktionsserver), und das bedeutet, dass sie nicht ausgeführt werden .exe-Dateien, die Sie aus dem Internet gezogen haben. Aus diesem Grund ist Methode 1 für mich üblicher; Es besteht eine viel bessere Chance, dass sich PowerShell auf einem Server befindet. Erwähnenswert ist auch, dass Baretail seit 2006 keine neue Version mehr veröffentlicht hat, die App jedoch weiterhin mit der neuesten Version von Windows 10 kompatibel zu sein scheint.
Ich habe Baretail angewiesen, Zeilen hervorzuheben, die „FEHLER“ enthalten.
Ich habe gehört, Doc Monitor Plugin für Notepad ++ als eine Lösung ähnlich Baretail erwähnt.exe aber ich habe das selbst nicht versucht. Ich gehe davon aus, dass dies ähnliche Nachteile haben wird: Dies kann nur auf Systemen verwendet werden, auf denen Notepad ++ installiert ist.
Methode 3: Der Tail-Befehl
Dies wird ein seltener Fall sein, aber ich werfe ihn zur Abwechslung ein. Angenommen, Sie arbeiten an einem System mit einem Windows-Subsystem für Linux *, Cygwin oder etwas anderem, das eine Unix-ähnliche Shell in Windows bereitstellt. Wenn Sie Teil dieses Edge-Falls sind, haben Sie den Tail-Befehl zur Verfügung, der seit Jahrzehnten existiert und sehr anständig ist. Ähnlich wie beim PowerShell-Befehl, den ich geschrieben habe, wird mit diesem Befehl ** in Ihrer Shell das aktuelle Sitecore-Protokoll abgerufen und weiterverfolgt:
tail -f `ls -t /mnt/c/inetpub/wwwroot/MySitecoreInstance/Data/logs/log.* | head -n1`
Tail läuft auf Windows-Subsystem für Linux.
* Ab 7/6/16 befindet sich das Windows-Subsystem für Linux noch in der Beta-Phase und ist nur für Windows 10-Benutzer verfügbar, die Teil des Windows Insider-Programms sind und Fast Ring-Updates aktiviert haben. Das wird sich natürlich in Zukunft ändern.
**In WSL wird das Laufwerk C /mnt/c/ zugeordnet. In Cygwin wird das Laufwerk C / cygdrive / c / zugeordnet.
Lobende Erwähnung: Sitecore Log Analyzer
Für Sie Sitecore-Entwickler muss ich dies einwerfen, weil es ein so wertvolles Tool ist und ich so viele Sitecore-Entwickler sehe, die nicht einmal wissen, dass es existiert: der Sitecore Log Analyzer (SCLA). Dadurch können Sie Protokolldateien zwar nicht live anzeigen, SCLA bietet jedoch eine detaillierte Analyse der Protokolldateien, sodass Sie Fehlertrends, Zeitpläne und mehr einfach verfolgen können. Ich halte SCLA für ein wesentliches Werkzeug für den Sitecore-Support.
Über den Autor
Jacob King ist Senior Technical Consultant bei Perficient und spezialisiert auf Sitecore-Lösungen. Er lebt mit seiner Frau und seinem Sohn in Indianapolis.
Mehr von diesem Autor