


Fünf Möglichkeiten zur Verbesserung der Qualität der Programmierprotokolle
Fünf Möglichkeiten, die Qualität der Protokolle von Programmierern zu verbessern
In letzter Zeit sind eine Vielzahl neuer Tools aufgetaucht, die Programmierern das Verständnis von Protokollen erleichtern sollen, darunter Open-Source-Projekte wie Scribe und Logstash sowie Prepaid-Tools wie Splunk und Hosting-Dienste wie SumoLogic und PaperTrail. Gemeinsam ist diesen Tools, dass sie Protokolldaten bereinigen und aus einer großen Menge an Protokollen einige wertvollere Dateien extrahieren.
Fünf Tipps zur Verbesserung der Protokollqualität
Bei einer Sache können diese Tools jedoch nicht weiterhelfen, da sie vollständig auf den von Ihnen tatsächlich eingegebenen Protokolldaten basieren und wissen, wie die Qualität und Quantität der Daten sichergestellt werden muss der Benutzer. Daher kann es in kritischen Momenten schwierig werden, wenn Sie Code auf der Grundlage unvollständiger oder fehlender Protokolle debuggen müssen.
Um das Risiko zu verringern, dass dies passiert, sind hier fünf Tipps, die Sie beim Journaling beachten sollten:
1. Hallo, mein (Thread-)Name ist
Als Ringo ist das Thread-Namensattribut eines der wichtigsten unterschätzte Methoden in Java. Der Grund dafür ist, dass Thread-Namen meist beschreibenden Charakter haben. Allerdings stellt sich auch hier das Problem ein, ähnlich wie bei den Menschen selbst, ihnen bei der Benennung von Namen meist eine bestimmte Bedeutung zu geben. In Multithread-Protokollen spielt auch der Thread-Name eine Schlüsselrolle. Normalerweise protokollieren die meisten Protokollierungsframeworks den Namen des aktuell aufgerufenen Threads. Leider sehen wir normalerweise Namen wie http-nio-8080-exec-3, die einfach vom Thread-Pool oder Container zugewiesen werden.
Aus irgendeinem Grund haben wir dieses Missverständnis schon mehr als einmal gehört – Thread-Namen sind unveränderlich. Im Protokoll hingegen spielt der Thread-Name eine grundlegende Rolle und Sie sollten auf die korrekte Verwendung achten. Kombinieren Sie es beispielsweise mit einem bestimmten Kontext, etwa dem Namen des Servlets, einem aufgabenbezogenen Kontext oder einem dynamischen Kontext, etwa einer Benutzer- oder Nachrichten-ID.
In diesem Fall sollte die Codeschnittstelle wie folgt aussehen:
Thread.currentThread().setName(ProcessTask.class.getName() ": " message.getID);
Die erweiterte Version wird sein in die aktuellen Thread-lokalen Variablen für Threads geladen, den Protokoll-Appender konfiguriert und ihn automatisch zu Protokolleinträgen hinzugefügt.
Dies ist nützlich, wenn mehrere Threads in das Serverprotokoll schreiben, Sie sich aber auf einen einzelnen Thread konzentrieren müssen. Wenn Sie in einer verteilten/SOA-Umgebung arbeiten, können Sie sogar die einzigartigen Vorteile erkennen.
2. Verteilte Identifikatoren
In SOA oder einer nachrichtengesteuerten Architektur erstreckt sich die Aufgabenausführung wahrscheinlich über mehrere Maschinen. Bei der Bewältigung von Ausfällen in dieser Umgebung ist die Verbindung der relevanten Maschinen und deren Status von entscheidender Bedeutung für das Verständnis der Situation. Die meisten Protokollanalysatoren gruppieren diese Protokollnachrichten so, dass sie Teil der eigentlichen Protokollnachricht sein können, vorausgesetzt, Sie geben ihnen eine eindeutige Kennung.
Aus gestalterischer Sicht bedeutet dies, dass jeder eingehende Vorgang vom Eintritt in das System bis zum Abschluss des Vorgangs eine eigene eindeutige ID haben sollte. Beachten Sie, dass eine dauerhafte Kennung wie eine Benutzer-ID möglicherweise kein guter Container ist. Während der Protokollierung einer Protokolldatei kann ein Benutzer mehrere Aktionen ausführen, was die Isolierung eines bestimmten Flusses erschwert. UUIDs könnten eine gute Wahl sein. Sein Wert kann in den eigentlichen Thread-Namen oder als lokaler Speicher für den TLS-Thread geladen werden.
3. Verwenden Sie keine Textlaufwerke und protokollieren Sie keine Schleifen.
Oftmals werden Sie feststellen, dass ein Codeabschnitt in einer engen Schleife ausgeführt wird und entsprechende Protokollierungsvorgänge ausführt. Die Grundannahme ist, dass der Code nur begrenzt oft ausgeführt werden kann.
Läuft wahrscheinlich sehr gut. Wenn der Code jedoch unerwartete Eingaben erhält, wird die Schleife möglicherweise nicht unterbrochen. In diesem Fall haben Sie es nicht nur mit einer Endlosschleife zu tun (obwohl das schon schlimm genug ist), sondern Sie haben es mit Code zu tun, der unendlich viele Daten auf die Festplatte oder das Netzwerk schreibt.
In einem eigenständigen Szenario kann es zum Absturz eines Servers kommen, während in einem verteilten Szenario der gesamte Cluster betroffen ist. Loggen Sie sich also nach Möglichkeit nicht in einer engen Schleife ein. Dies gilt insbesondere beim Erkennen von Fehlern.
Das folgende Beispiel zeichnet eine Ausnahme in einer while-Schleife auf:
void read() {
while (hasNext()) {
try {
readData(
} Catch {); Ausnahme e) {
// das wird nicht empfohlen
logger.error(“error reading data“, e);
}
}
}
if readData löst eine Ausnahme aus auftritt und der hasNext-Rückgabewert wahr ist, werden hier unbegrenzt Protokolldaten geschrieben. Um dies zu beheben, stellen Sie sicher, dass nichts davon protokolliert wird:
void read() {
intExceptionsThrown = 0;
while (hasNext()) {
try {
readData( );
} Catch {Exception e) {
if (ExceptionsThrown < THRESHOLD) {
logger.error("error reading data", e); else {
// Jetzt wird der Fehler das System nicht ersticken.
}
}
}
}
Eine andere Möglichkeit besteht darin, den Protokolldatensatz aus der Schleife zu entfernen und zu speichern 1/Das letzte Ausnahmeobjekt und an anderer Stelle protokolliert.
4. Nicht gefangene Handler
Westeros hat die letzte Verteidigungsmauer und Sie haben Thread.uncaughtExceptionHandler. Versuchen Sie also, sie so oft wie möglich zu nutzen. Ohne die Installation dieser Handler erhalten Sie wenig wertvollen Kontext, wenn eine Ausnahme ausgelöst wird, und Sie haben keine Kontrolle darüber, wo Sie sie protokolliert haben, bevor sie endet.
Beachten Sie, dass Sie selbst in einem nicht abgefangenen Ausnahmehandler, bei dem es scheinbar keine Möglichkeit gibt, auf Variablen im (beendeten) Thread zuzugreifen, immer noch einen Verweis auf das eigentliche Thread-Objekt erhalten können. Wenn Sie bei Schritt 1 bleiben, erhalten Sie immer noch einen aussagekräftigen thread.getName()-Wert zum Protokollieren.
5. Externe Aufrufe erfassen
Immer wenn eine externe API aufgerufen wird, erhöht sich die Wahrscheinlichkeit einer JVM-Ausnahme erheblich. Dazu gehören Webdienste, HTTP, DB, Dateisystem, Betriebssystem und alle anderen JNI-Aufrufe. Nehmen Sie jeden Anruf ernst, denn es kann jederzeit explodieren. „Es ist sehr wahrscheinlich, dass es am selben Punkt passiert.“
Meistens ist die Ursache für einen externen API-Fehler eine unerwartete Eingabe, und deren Aufzeichnung im Protokoll ist der Schlüssel zur Behebung des Codes.
An dieser Stelle können Sie entscheiden, den Fehler nicht zu protokollieren und einfach eine Ausnahme auszulösen. Erfassen Sie in diesem Fall einfach die relevanten Parameter des Aufrufs und analysieren Sie sie in Informationen zu Ausnahmefehlern.
Stellen Sie einfach sicher, dass die Ausnahme bei einem Stapelaufruf einer höheren Ebene abgefangen und protokolliert wird.
Erhalten Sie die Original-PHP-Video-Tutorial-CD/„Essential PHP in Detail“ von LAMP Brothers kostenlos. Für weitere Informationen wenden Sie sich bitte an den offiziellen Website-Kundendienst:
http://www.lampbrother.net
[Brothers IT-Ausbildung] Lernen Sie PHP, Linux, HTML5, UI, Android und andere Video-Tutorials (Video mit Kursnotizen)!
Tutorial zum Herunterladen von Netzwerkfestplatten: http://pan.baidu.com/s/1mg8ANMg
Das Obige stellt fünf Möglichkeiten zur Verbesserung der Qualität von Programmierprotokollen vor, einschließlich inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Auf dem Anmeldebildschirm wird die Meldung „Ihre Organisation hat Sie gebeten, Ihre PIN zu ändern“ angezeigt. Dies geschieht, wenn das PIN-Ablauflimit auf einem Computer erreicht wird, der organisationsbasierte Kontoeinstellungen verwendet und die Kontrolle über persönliche Geräte hat. Wenn Sie Windows jedoch über ein persönliches Konto einrichten, sollte die Fehlermeldung im Idealfall nicht erscheinen. Obwohl dies nicht immer der Fall ist. Die meisten Benutzer, die auf Fehler stoßen, melden dies über ihre persönlichen Konten. Warum fordert mich meine Organisation auf, meine PIN unter Windows 11 zu ändern? Es ist möglich, dass Ihr Konto mit einer Organisation verknüpft ist. Ihr primärer Ansatz sollte darin bestehen, dies zu überprüfen. Die Kontaktaufnahme mit Ihrem Domain-Administrator kann hilfreich sein! Darüber hinaus können falsch konfigurierte lokale Richtlinieneinstellungen oder falsche Registrierungsschlüssel Fehler verursachen. Im Augenblick

Windows 11 bringt frisches und elegantes Design in den Vordergrund; die moderne Benutzeroberfläche ermöglicht es Ihnen, feinste Details, wie zum Beispiel Fensterränder, zu personalisieren und zu ändern. In diesem Leitfaden besprechen wir Schritt-für-Schritt-Anleitungen, die Ihnen dabei helfen, eine Umgebung zu erstellen, die Ihrem Stil im Windows-Betriebssystem entspricht. Wie ändere ich die Fensterrahmeneinstellungen? Drücken Sie +, um die Einstellungen-App zu öffnen. WindowsIch gehe zu Personalisierung und klicke auf Farbeinstellungen. Farbänderung Fensterränder Einstellungen Fenster 11" Breite="643" Höhe="500" > Suchen Sie die Option Akzentfarbe auf Titelleiste und Fensterrändern anzeigen und schalten Sie den Schalter daneben um. Um Akzentfarben im Startmenü und in der Taskleiste anzuzeigen Um die Designfarbe im Startmenü und in der Taskleiste anzuzeigen, aktivieren Sie „Design im Startmenü und in der Taskleiste anzeigen“.

Wir alle haben unterschiedliche Vorlieben, wenn es um die Anzeigeskalierung unter Windows 11 geht. Manche Leute mögen große Symbole, andere mögen kleine Symbole. Wir sind uns jedoch alle einig, dass die richtige Skalierung wichtig ist. Eine schlechte Schriftartenskalierung oder eine Überskalierung von Bildern kann bei der Arbeit ein echter Produktivitätskiller sein. Sie müssen daher wissen, wie Sie sie anpassen können, um die Fähigkeiten Ihres Systems optimal zu nutzen. Vorteile des benutzerdefinierten Zooms: Dies ist eine nützliche Funktion für Personen, die Schwierigkeiten haben, Text auf dem Bildschirm zu lesen. Es hilft Ihnen, mehr gleichzeitig auf dem Bildschirm zu sehen. Sie können benutzerdefinierte Erweiterungsprofile erstellen, die nur für bestimmte Monitore und Anwendungen gelten. Kann dazu beitragen, die Leistung von Low-End-Hardware zu verbessern. Dadurch haben Sie mehr Kontrolle darüber, was auf Ihrem Bildschirm angezeigt wird. So verwenden Sie Windows 11

Die Bildschirmhelligkeit ist ein wesentlicher Bestandteil der Nutzung moderner Computergeräte, insbesondere wenn Sie über einen längeren Zeitraum auf den Bildschirm schauen. Es hilft Ihnen, die Belastung Ihrer Augen zu reduzieren, die Lesbarkeit zu verbessern und Inhalte einfach und effizient anzuzeigen. Abhängig von Ihren Einstellungen kann es jedoch manchmal schwierig sein, die Helligkeit zu verwalten, insbesondere unter Windows 11 mit den neuen Änderungen an der Benutzeroberfläche. Wenn Sie Probleme beim Anpassen der Helligkeit haben, finden Sie hier alle Möglichkeiten, die Helligkeit unter Windows 11 zu verwalten. So ändern Sie die Helligkeit unter Windows 11 [10 Möglichkeiten erklärt] Benutzer eines einzelnen Monitors können die folgenden Methoden verwenden, um die Helligkeit unter Windows 11 anzupassen. Hierzu zählen sowohl Desktop-Systeme mit einem einzelnen Monitor als auch Laptops. Lasst uns beginnen. Methode 1: Verwenden Sie das Action Center. Das Action Center ist zugänglich

Der HTTP-Statuscode 520 bedeutet, dass der Server bei der Verarbeitung der Anfrage einen unbekannten Fehler festgestellt hat und keine genaueren Informationen bereitstellen kann. Wird verwendet, um darauf hinzuweisen, dass bei der Verarbeitung der Anforderung durch den Server ein unbekannter Fehler aufgetreten ist, der durch Serverkonfigurationsprobleme, Netzwerkprobleme oder andere unbekannte Gründe verursacht werden kann. Dies wird normalerweise durch Serverkonfigurationsprobleme, Netzwerkprobleme, Serverüberlastung oder Codierungsfehler verursacht. Wenn Sie auf einen Fehler mit dem Statuscode 520 stoßen, wenden Sie sich am besten an den Website-Administrator oder das technische Support-Team, um weitere Informationen und Unterstützung zu erhalten.

Mit iOS 17 hat Apple mehrere neue Datenschutz- und Sicherheitsfunktionen in sein mobiles Betriebssystem eingeführt, darunter die Möglichkeit, eine zweistufige Authentifizierung für private Browser-Tabs in Safari zu verlangen. Hier erfahren Sie, wie es funktioniert und wie Sie es ausschalten. Auf einem iPhone oder iPad mit iOS 17 oder iPadOS 17 erfordert der Browser von Apple jetzt eine Face ID/Touch ID-Authentifizierung oder einen Passcode, wenn Sie in Safari eine Registerkarte „Privates Surfen“ geöffnet haben und dann die Sitzung oder App verlassen, um erneut darauf zuzugreifen. Mit anderen Worten: Wenn jemand Ihr iPhone oder iPad in die Hände bekommt, während es entsperrt ist, kann er Ihre Privatsphäre trotzdem nicht einsehen, ohne Ihren Passcode zu kennen

Das berühmte Aktivierungsskript MAS2.2 unterstützt wieder die digitale Aktivierung. Die Methode stammt von @asdcorp und der MAS-Autor nennt sie HWID2. Laden Sie „gatherosstate.exe“ (kein Original, geändert) von https://github.com/massgravel/Microsoft-Activation-Scripts herunter, führen Sie es mit Parametern aus und generieren Sie GenuineTicket.xml. Schauen Sie sich zunächst die ursprüngliche Methode an: Gatherosstate.exePfn=xxxxxxx;DownlevelGenuineState=1 und vergleichen Sie sie dann mit der neuesten Methode: Gatheros

Das Ausblenden von Ordnern ist eine großartige Möglichkeit, Ihren Desktop organisiert zu halten. Vielleicht möchten Sie Ihre persönlichen Dateien oder einige Kundendaten vor neugierigen Blicken schützen. Was auch immer es ist, die Möglichkeit, sie wegzuräumen und bei Bedarf wieder einzublenden, ist eine große Ersparnis. Kurz gesagt, diese versteckten Dateien werden nicht im Hauptmenü angezeigt, sind aber weiterhin zugänglich. Es ist sehr einfach und sollte nicht zu viel Zeit in Anspruch nehmen. Wie verstecke ich einen Ordner in Windows 11? 1. Verwenden Sie den Datei-Explorer und drücken Sie die +-Taste, um den Datei-Explorer zu öffnen. WindowsE Suchen Sie den Ordner, den Sie ausblenden möchten, klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften. Navigieren Sie zur Registerkarte „Allgemein“, aktivieren Sie das Kontrollkästchen „Ausblenden“, klicken Sie auf „Übernehmen“ und dann auf „OK“. Aktivieren Sie im nächsten Dialogfeld die Option „Änderungen auf diesen Ordner und Unterordner anwenden“.
