


Detaillierte Einführung in die Protokollierung in Python (mit Beispielen)
Dieser Artikel bietet Ihnen eine detaillierte Einführung in die Protokollierung in Python (mit Beispielen). Freunde in Not können darauf verweisen.
Einführung
Es gibt viele grundlegende Anwendungen der Protokollierung im Internet, daher werde ich sie hier nicht vorstellen. Bevor wir den Haupttext vorstellen, schauen wir uns zunächst eine Anforderung an:
Angenommen, Sie müssen eine bestimmte Funktion in einer Klassenbibliothek kapseln, damit andere sie verwenden können. Wie gehen Sie mit den Protokollen in der Klassenbibliothek um?
Vor ein paar Jahren in einem In Projekten, die in C# entwickelt wurden, habe ich diese Methode verwendet: Definieren Sie eine Protokollierungsbasisklasse. Alle Klassen, die die Protokollierung verwenden müssen, erben diese Basisklasse LogHandler-Ereignis, das zur Implementierung bestimmter Protokollierungsaktionen verwendet wird. Gleichzeitig kann der LogHandler-Delegat der Klasse A mit dem Delegaten der Klasse B verknüpft werden. Auf LogHandler werden die Protokollinformationen der beiden Klassen addiert.
Seitdem ich mir die Implementierung der Protokollierung in Python angesehen habe, habe ich festgestellt, dass mein Ansatz wirklich schwach ist.
Ich habe die Protokollausgabe im Peewee-Framework in meinem vorherigen Blog Python: Die Verwendung von logging.NullHandler eingeführt, um es einfach auszudrücken: Ein Logger namens Peewee wird in Peewee definiert und ein NullHandler hinzugefügt Sie müssen lediglich einen bestimmten Handler hinzufügen, um das Protokoll auszugeben, was sehr praktisch ist.
Angenommen, wir haben auch einen Logger im Hauptprogramm. Nach dem Aufruf von peewee möchte ich die beiden Protokolle in derselben Protokolldatei ausgeben. Offensichtlich ist es nicht ratsam, den FileHandler zweier Protokolle auf dieselbe Protokolldatei zu verweisen, da die Gefahr einer gleichzeitigen Dateibevorzugung besteht. Natürlich können wir den Logger im Hauptprogramm auch als peewee bezeichnen, aber das ist nicht nur zu niedrig, sondern auch wenn eine andere Bibliothek aufgerufen wird, die ebenfalls einen Logger kapselt, wird es schwierig zu handhaben sein.
Logger der Baumstumpfstruktur
Das Logger-Objekt ist als Baumstruktur konzipiert und verfügt über ein übergeordnetes Attribut. Ein Logger namens root wird in der Protokollierung als Root-Knoten aller Logger definiert und das übergeordnete Attribut von root ist None. root ist global.
Wenn Sie
logging.getLogger(name=None)
aufrufen, um ein Logger-Objekt abzurufen und der Name None ist, wird der Root-Knoten root zurückgegeben. Wenn der Name „.“ enthält, beispielsweise „name = ‚a.b‘“, ist a.b der untergeordnete Knoten von a, wenn bereits ein Logger mit dem Namen „a“ vorhanden ist. Wenn kein Logger mit dem Namen „a“ vorhanden ist, ist „a.b“ der untergeordnete Knoten von „root“. . Knoten.
Nachdem der untergeordnete Logger die Verarbeitung der Protokollnachricht abgeschlossen hat, leitet er die Protokollnachricht standardmäßig an seinen übergeordneten Logger weiter. Daher müssen wir nicht Handler für alle in einer Anwendung verwendeten Logger definieren und konfigurieren. Es reicht aus, Handler für einen Logger der obersten Ebene zu konfigurieren und dann nach Bedarf untergeordnete Logger zu erstellen. Wir können diesen Übermittlungsmechanismus deaktivieren, indem wir die Propagate-Eigenschaft des Loggers auf „False“ setzen.
Was bedeutet das? Schauen wir uns den Code an:
import logging logA = logging.getLogger('a') logA.setLevel(logging.DEBUG) logA.addHandler(logging.StreamHandler()) logB = logging.getLogger('a.b') logB.addHandler(logging.StreamHandler())
Ausgabeergebnis:
Logger A Logger B Logger B
Der Grund, warum Logger B zweimal ausgegeben wird, liegt darin, dass logB ein untergeordneter Knoten von ist logA und Handler sind auch in logB definiert, sodass der Handler von logB einmal ausgegeben wird und der Handler von logA ebenfalls einmal, also zweimal, ausgegeben wird. Wenn Sie nur einmal ausgeben möchten, können Sie den Handler in logB löschen. Dies kann natürlich nützlich sein, insbesondere wenn Sie kein Protokollverwaltungstool zur Hand haben. Beispielsweise müssen Sie alle Protokolle im Hauptprogramm ausgeben, um die gesamte Ausführungssequenz des Programms zu verstehen. Sie möchten jedoch ein separates Protokoll eines bestimmten Moduls ausgeben, damit Sie die Fehlerberichterstattung oder die Ausführungssequenz im Programm klar verstehen können Modul.
Das vorherige Peewee-Beispiel ist einfach zu lösen. Sie müssen lediglich das übergeordnete Attribut des Peewee-Protokolls auf das Protokoll des Hauptprogramms setzen.
Fazit
Tatsächlich ist dies ein relativ leicht zu erklärendes Problem, und es besteht keine Notwendigkeit, so viel zu schreiben. Ich möchte Ihnen nicht mitteilen, wie Sie die Protokollierung in Python verwenden, aber ich möchte Ihnen eine Vorstellung davon geben, wie die Protokollierung implementiert wird, da ich auf dieses Problem gestoßen bin und eine Lösung entworfen habe, und dann war ich völlig überwältigt weg.
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Protokollierung in Python (mit Beispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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



MySQL hat eine kostenlose Community -Version und eine kostenpflichtige Enterprise -Version. Die Community -Version kann kostenlos verwendet und geändert werden, die Unterstützung ist jedoch begrenzt und für Anwendungen mit geringen Stabilitätsanforderungen und starken technischen Funktionen geeignet. Die Enterprise Edition bietet umfassende kommerzielle Unterstützung für Anwendungen, die eine stabile, zuverlässige Hochleistungsdatenbank erfordern und bereit sind, Unterstützung zu bezahlen. Zu den Faktoren, die bei der Auswahl einer Version berücksichtigt werden, gehören Kritikalität, Budgetierung und technische Fähigkeiten von Anwendungen. Es gibt keine perfekte Option, nur die am besten geeignete Option, und Sie müssen die spezifische Situation sorgfältig auswählen.

Der Artikel führt den Betrieb der MySQL -Datenbank vor. Zunächst müssen Sie einen MySQL -Client wie MySQLworkBench oder Befehlszeilen -Client installieren. 1. Verwenden Sie den Befehl mySQL-uroot-P, um eine Verbindung zum Server herzustellen und sich mit dem Stammkonto-Passwort anzumelden. 2. Verwenden Sie die Erstellung von Createdatabase, um eine Datenbank zu erstellen, und verwenden Sie eine Datenbank aus. 3.. Verwenden Sie CreateTable, um eine Tabelle zu erstellen, Felder und Datentypen zu definieren. 4. Verwenden Sie InsertInto, um Daten einzulegen, Daten abzufragen, Daten nach Aktualisierung zu aktualisieren und Daten nach Löschen zu löschen. Nur indem Sie diese Schritte beherrschen, lernen, mit gemeinsamen Problemen umzugehen und die Datenbankleistung zu optimieren, können Sie MySQL effizient verwenden.

Die Hauptgründe für den Fehler bei MySQL -Installationsfehlern sind: 1. Erlaubnisprobleme, Sie müssen als Administrator ausgeführt oder den Sudo -Befehl verwenden. 2. Die Abhängigkeiten fehlen, und Sie müssen relevante Entwicklungspakete installieren. 3. Portkonflikte müssen Sie das Programm schließen, das Port 3306 einnimmt, oder die Konfigurationsdatei ändern. 4. Das Installationspaket ist beschädigt. Sie müssen die Integrität herunterladen und überprüfen. 5. Die Umgebungsvariable ist falsch konfiguriert und die Umgebungsvariablen müssen korrekt entsprechend dem Betriebssystem konfiguriert werden. Lösen Sie diese Probleme und überprüfen Sie jeden Schritt sorgfältig, um MySQL erfolgreich zu installieren.

Die MySQL -Download -Datei ist beschädigt. Was soll ich tun? Wenn Sie MySQL herunterladen, können Sie die Korruption der Datei begegnen. Es ist heutzutage wirklich nicht einfach! In diesem Artikel wird darüber gesprochen, wie dieses Problem gelöst werden kann, damit jeder Umwege vermeiden kann. Nach dem Lesen können Sie nicht nur das beschädigte MySQL -Installationspaket reparieren, sondern auch ein tieferes Verständnis des Download- und Installationsprozesses haben, um zu vermeiden, dass Sie in Zukunft stecken bleiben. Lassen Sie uns zunächst darüber sprechen, warum das Herunterladen von Dateien beschädigt wird. Dafür gibt es viele Gründe. Netzwerkprobleme sind der Schuldige. Unterbrechung des Download -Prozesses und der Instabilität im Netzwerk kann zu einer Korruption von Dateien führen. Es gibt auch das Problem mit der Download -Quelle selbst. Die Serverdatei selbst ist gebrochen und natürlich auch unterbrochen, wenn Sie sie herunterladen. Darüber hinaus kann das übermäßige "leidenschaftliche" Scannen einer Antiviren -Software auch zu einer Beschädigung von Dateien führen. Diagnoseproblem: Stellen Sie fest, ob die Datei wirklich beschädigt ist

MySQL kann ohne Netzwerkverbindungen für die grundlegende Datenspeicherung und -verwaltung ausgeführt werden. Für die Interaktion mit anderen Systemen, Remotezugriff oder Verwendung erweiterte Funktionen wie Replikation und Clustering ist jedoch eine Netzwerkverbindung erforderlich. Darüber hinaus sind Sicherheitsmaßnahmen (wie Firewalls), Leistungsoptimierung (Wählen Sie die richtige Netzwerkverbindung) und die Datensicherung für die Verbindung zum Internet von entscheidender Bedeutung.

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

MySQL hat sich geweigert, anzufangen? Nicht in Panik, lass es uns ausprobieren! Viele Freunde stellten fest, dass der Service nach der Installation von MySQL nicht begonnen werden konnte, und sie waren so ängstlich! Mach dir keine Sorgen, dieser Artikel wird dich dazu bringen, ruhig damit umzugehen und den Mastermind dahinter herauszufinden! Nachdem Sie es gelesen haben, können Sie dieses Problem nicht nur lösen, sondern auch Ihr Verständnis von MySQL -Diensten und Ihren Ideen zur Fehlerbehebungsproblemen verbessern und zu einem leistungsstärkeren Datenbankadministrator werden! Der MySQL -Dienst startete nicht und es gibt viele Gründe, von einfachen Konfigurationsfehlern bis hin zu komplexen Systemproblemen. Beginnen wir mit den häufigsten Aspekten. Grundkenntnisse: Eine kurze Beschreibung des Service -Startup -Prozesses MySQL Service Startup. Einfach ausgedrückt, lädt das Betriebssystem MySQL-bezogene Dateien und startet dann den MySQL-Daemon. Dies beinhaltet die Konfiguration

Die MySQL -Leistungsoptimierung muss von drei Aspekten beginnen: Installationskonfiguration, Indexierung und Abfrageoptimierung, Überwachung und Abstimmung. 1. Nach der Installation müssen Sie die my.cnf -Datei entsprechend der Serverkonfiguration anpassen, z. 2. Erstellen Sie einen geeigneten Index, um übermäßige Indizes zu vermeiden und Abfrageanweisungen zu optimieren, z. B. den Befehl Erklärung zur Analyse des Ausführungsplans; 3. Verwenden Sie das eigene Überwachungstool von MySQL (ShowProcessList, Showstatus), um die Datenbankgesundheit zu überwachen und die Datenbank regelmäßig zu sichern und zu organisieren. Nur durch kontinuierliche Optimierung dieser Schritte kann die Leistung der MySQL -Datenbank verbessert werden.
