Server Log Error Handler

Hier betrachten wir den Log Error Handler, das leistungsstarke Tool, das vom EasyQA-Team entwickelt wurde, um Ihnen bei der Erkennung und Behebung von Fehlern zu helfen.

Log Error Handler: was es ist

Log Error Handler ist ein Juwel zum Aufdecken und Verarbeiten von Fehlern auf Ihrem Server.

Gem ist ein Paketverwaltungssystem für die Programmiersprache Ruby, das ein Standardformat für Ruby-Programme und -Bibliotheken, Tools zur einfachen Verwaltung der "Gems" -Installation und den Server für deren Verteilung bereitstellt.

EIN .Juwel Die Erweiterungsdatei ist ein allgemeines Archiv, in dem sich eine Spezifikationsdatei und der Quellcode der Bibliothek zum Zeitpunkt der Veröffentlichung befinden.

Die wichtigsten vorteile des Log Error Handlers:

  • Sie erhalten eine installierte und integrierte Ruby on Rails-Bibliothek mit allen notwendigen Abhängigkeiten
  • Es gibt keine operativen Plattformabhängigkeiten
  • Sie sparen Ihre Zeit mit dem Log Error Handler
  • Sie können die Aktivitäten Ihres Servers permanent überwachen
  • Nach der Fehlererkennung wird automatisch eine Benachrichtigung gesendet

Gegenwärtig gibt es 3 Varianten von Aktionen zum Aufdecken von Fehlern, wie zum Beispiel:

  • Terminal eingeben
  • In ein separates Dokument schreiben
  • So senden Sie eine HTTP-Anfrage an die Website.

LogErrorHandler

Installation des LogErrorHandlers

Sie können den Log Error Handler auf zwei Arten installieren:

1. Fügen Sie diese Zeile zur Gemfile Ihrer Anwendung hinzu:

Juwel 'log_error_handler'

Und dann ausführen:

 $ bundle 

2. Installieren Sie es selbst als:

 $ gem install log_error_handler [ /Code-Auszug]

Log Error Handler Using

Damit gem funktioniert, sollte ein konstanter Ausgabedatenfluss vorhanden sein. Hier sind auch zwei Möglichkeiten, dies zu tun.

1. Um die Pipe zum Edelstein zu führen, z. B .: [code_snippet lang = "" numbers = "1"] $ rail s | log_error_handler

Dies wird sicherstellen stdout von Ihrem Programm zu stdin des Edelsteins. Das Minus eines solchen Ansatzes ist, dass Sie ihn nur anwenden können, während Sie Ihr Programm starten, dessen Protokolle Sie verfolgen möchten.

2. Um zu zeigen, wie Sie Ihre Protokolldatei programmieren können, z. B .:

 $ log_error_handler -l log / development.log 

Um Protokolle korrekt auszugeben, muss gem eine eindeutige Identifikation jeder Anfrage an den Server. Wenn die Mehrheit der Server Multithreading-fähig ist und jede neue Anforderung in einem neuen Ablauf ausgearbeitet wird, ist die Thread-Identifizierung am besten geeignet (tid). Um diesen eindeutigen Bezeichner hinzuzufügen, müssen Sie beispielsweise im Ruby on Rails-Framework nur eine Zeile hinzufügen:

 config.log_tags= [:Objekt Identifikation] 

Danach wird in jeder Zeile der Ausgabeprotokolle tid ausgegeben. Es sieht aus wie das:

Log Error Handler

Sie können RegExp verwenden, um das richtige Juwel zu finden:/^\ [\ d+\]/.

Aber wenn die TID-Ausgabe anders ist, können Sie sie einstellen:

Bild

Befindet sich tid beispielsweise in geschweiften Klammern und nicht am Zeilenanfang:

 $ log_error_handler -t / \\ {\\ d + \\} / 

In Falls dieses RegExp im Terminal geschrieben ist, benötigen wir eine doppelte Bildschirmversion.

Gem findet heraus, dass die Anfrage einen Fehler aufweist, wenn es die Zeile findet, die RegExp des Fehlers entspricht:

Bild

Zum Beispiel müssen wir nicht nur den Fehler 500, sondern auch den Fehler 404 abfangen:

 $ log_error_handler -e "/(500)|(404).*error/i"

Um die Werte standardmäßig zu durchsuchen, müssen Sie Folgendes eingeben:

Bild

Die Zeit in den Einstellungen wird standardmäßig in Sekunden angegeben. Die wichtigsten Zeitoptionen:

  • Möglichkeit"--not_modify_timeout " bedeutet, dass der Thread Zeit hat, um das Schreiben von Protokollen in diese Datei zu beenden, wenn das Zeitlimit abläuft. Während dieser Zeit wird die Datei nicht mindestens einmal geändert, sodass sie an die Ausgabe gesendet wird. Wenn Fehler auftreten, wird sie gelöscht.
  • Möglichkeit"--log_file_tracker_waiting " bedeutet, wie oft der Überprüfungszyklus temporärer Dateien in jedem Thread stattfinden wird.
  • Möglichkeit"--Debug-Modus" Stellt die Datenausgabe in STDOUT zum Lesen von STDIN bereit.

Log Error Handler Dateneingabe

Wie oben erwähnt, gibt es drei Möglichkeiten der Dateneingabe:

1 in stdout wird standardmäßig ausgeführt, wenn keiner der Ausgabeparameter angegeben wurde

2.In die Datei, wenn ein Parameter angegeben wurde

Bild

Zum Beispiel:

 $ log_error_handler -f error.log 

3.In das Netzwerk. Für diesen müssen Sie einen Parameter angeben:

Bild

Zum Beispiel:

 $ log_error_handler -u https://app.geteasyqa.com/projects/upload_crashes

Die HTTP-Methode post wird standardmäßig zum Senden von Daten verwendet, kann jedoch problemlos ersetzt werden Bild

Beispiel:

 $ log_error_handler -u https://app.geteasyqa.com/projects/upload_crashes -m put 

Die Nachricht ist standardmäßig ein Schlüssel, unter dem der Fehler steht gefunden, daher ist der Parameter für diesen Wert verantwortlich

Bild

Zum Beispiel:

 $ log_error_handler -u https://app.geteasyqa.com/projects/upload_crashes -m put -k error 

Wenn Sie einige zusätzliche Parameter mit einem Fehler senden müssen, können Sie diese mit folgenden Optionen einstellen:Bild

Oder:

Bild

Zum Beispiel:


$ log_error_handler -u https://app.geteasyqa.com/projects/upload_crashes -m put -k error -a "{\" token \ ": \" uQF7ZYtHh9VDMXBaJojq \ " }"[/Code-Auszug]

Vor dem Senden werden alle Fehler in Base64 verschlüsselt.

Fehlerberichte und Pull-Anfragen sind bei GitHub unter willkommen https://github.com/thinkmobiles/log_error_handler.

Sie haben also mehr Kenntnisse über dieses Tool. Warum nicht versuchen, es zu benutzen? Hoffe, Log Error Handler hilft Ihnen bei der Softwareentwicklung und beim Testen. Es wäre cool zu wissen, was Sie über unser Tool denken. Sie können Ihre Anmerkungen und Wünsche nicht nur auf GitHub, sondern auch hier unten in den Kommentaren hinterlassen.