Inhaltsverzeichnis
Verwendung von log4php
log4php-Konfiguration
1. log4php-Protokollinformationspriorität
2. Konfiguration der Ausgabeadresse
3. Protokolldatei-Ausgabeformat
Einige Formatparameter des LoggerLayoutPattern-Modus
Heim Backend-Entwicklung PHP-Tutorial Konfiguration und Nutzung von log4php

Konfiguration und Nutzung von log4php

Aug 04, 2017 am 10:17 AM
php 配置

Verwendung von log4php

Führen Sie zunächst die Datei logger.php ein. log4php kann den automatischen Ladevorgang abschließen, indem es logger.php einführt. Der Speicherort der Datei lautet wie folgt:

Konfiguration und Nutzung von log4php

Der Logger selbst definiert nicht das Ausgabeziel und das Format des Protokolls, daher müssen wir normalerweise zuerst die Konfigurationsdatei einführen, nachdem wir log4php eingeführt haben (weitere Details unten) ). Ein Logger ist eine Komponente, über die wir Protokollinformationen aufzeichnen. Rufen Sie nach dem Einführen der Konfigurationsdatei eine Logger-Entität über getLogger ab. Die Protokollinformationen können dann über die Druckmethode ausgedruckt werden. Zu den Druckmethoden gehören normalerweise „Info“, „Warnung“, „Fehler“, „Debug“ usw.

include('Logger.php');
Logger::Configure(COMMON_PATH . 'Conf/log.php');//引入配置文件
$logger = Logger::getLogger("main"); //生成日志实例
$logger->info("This is an informational message."); //在规定好的输出目的地用规定好的输出格式显示信息消息
Nach dem Login kopieren

log4php-Konfiguration

log4php-Konfigurationsdatei unterstützt XML, PHP, Eigenschaften (INI) und andere Formate. Es wird auch eine programmierbare Konfiguration unterstützt, d. h. die Konfiguration kann über Funktionen geändert werden.

class MyConfigurator implements LoggerConfigurator {
    
    public function configure(LoggerHierarchy $hierarchy, $input = null) {
 
        // Create an appender which logs to file
        $appFile = new LoggerAppenderFile('foo');
        $appFile->setFile('D:/Temp/log.txt');
        $appFile->setAppend(true);
        $appFile->setThreshold('all');
        $appFile->activateOptions();
        
        // Use a different layout for the next appender
        $layout = new LoggerLayoutPattern();
        $layout->setConversionPattern("%date %logger %msg%newline");
        $layout->activateOptions();
        
        // Create an appender which echoes log events, using a custom layout
        // and with the threshold set to INFO 
        $appEcho = new LoggerAppenderEcho('bar');
        $appEcho->setLayout($layout);
        $appEcho->setThreshold('info');
        $appEcho->activateOptions();
        // Add both appenders to the root logger
        $root = $hierarchy->getRootLogger();
        $root->addAppender($appFile);
        $root->addAppender($appEcho);
    }
}
Nach dem Login kopieren
        Logger::Configure(COMMON_PATH . 'Conf/log.php');
Nach dem Login kopieren

Diese Codezeile führt die Konfiguration in das Projekt ein. Die Konfiguration umfasst im Allgemeinen den folgenden Inhalt:

1. Die Priorität der Protokollinformationen; 2. Das Ausgabeformat der Protokollinformationen;

1. log4php-Protokollinformationspriorität

Die Prioritäten der Protokollinformationen von hoch nach niedrig umfassen ERROR, WARN, INFO und DEBUG.

Die folgenden vier Ebenen werden häufig verwendet:
DEBUG Level weist darauf hin, dass feinkörnige Informationsereignisse für das Debuggen von Anwendungen sehr hilfreich sind.
INFO-Ebene gibt an, dass die Nachricht den laufenden Prozess der Anwendung auf einer grobkörnigen Ebene hervorhebt.
WARN-Stufe weist auf eine mögliche Fehlersituation hin.
FEHLER-Stufe gibt an, dass ein Fehlerereignis zwar auftritt, sich aber dennoch nicht auf den weiteren Betrieb des Systems auswirkt.

Das Programm kann nur Informationen mit einer niedrigeren Priorität als der aktuell eingestellten Stufe anzeigen. Die aktuelle Programmeinstellungsebene ist beispielsweise DEBUG, was bedeutet, dass alle Informationen im Programm angezeigt werden können. Wenn die aktuelle Programmebene „Info“ lautet, können nur die Protokollinformationen „Info“, „Warnung“ und „Fehler“ angezeigt werden.

    return array(
    'rootLogger' => array(
        'appenders' => array(
            'myConsoleAppender',
        ),
        'level' => 'DEBUG'
    ),
    )
Nach dem Login kopieren

2. Konfiguration der Ausgabeadresse

Wie die Priorität kann auch die Ausgabeadresse in der Konfigurationsdatei konfiguriert werden, und je nach Protokollkategorie können unterschiedliche Ausgabeziele festgelegt werden. Beispiel:

'loginFileAppender' => [
            'class' => 'LoggerAppenderDailyFile',
            'layout' => [
                'class' => 'LoggerLayoutPattern',
                'params' => [
                    'conversionPattern' => '%date [%logger] %message%newline',
                ],
            ],
            'params' => [
                'file' => './log/login/login_%s.log',
                'datePattern' => 'Y_m_d',
            ]
        ],
Nach dem Login kopieren

log4php unterstützt 12 Ausgabeziele:

  • LoggerAppenderConsole verwendet php://stdout als Ausgabeziel. Standort

  • LoggerAppenderFile verwendet die Datei als Ausgabeziel

  • LoggerAppenderDailyFile verwendet die Datei als Ziel und gibt jeden Tag eine Datei aus

  • LoggerAppenderDb verwendet die Datenbank als Ausgabeziel

  • LoggerAppenderEcho gibt am Ende der Ausführungsdatei aus

  • LoggerAppenderMail nimmt die E-Mail als Ausgabeziel

  • LoggerAppenderMailEvent verwendet E-Mail als Ausgabeziel und löst Ereignisse aus

  • LoggerAppenderNull gibt keine Informationen aus

  • LoggerAppenderPhp LoggerAppenderPhp gibt PHP-Fehlerinformationen aus und wandelt verschiedene Log-Level-Informationen in PHP-Standardinformationen um

  • LoggerAppenderRollingFile gibt in der Form xxx.log.1 aus, xxx.log.2

  • LoggerAppenderSocket gibt im Socket-Modus aus

  • LoggerAppenderSyslog gibt das Systemprotokoll als Ziel aus, wobei die Funktion syslog() verwendet wird PHP zum Aufzeichnen

Der Code legt fest, dass jeden Tag eine Datei als Ausgabeziel ausgegeben werden soll, um Protokollinformationen zum Anmeldetyp aufzuzeichnen.

3. Protokolldatei-Ausgabeformat

Es existiert als Attribut des Ausgabeziels. log4php enthält 5 verschiedene Ausgabemethoden:

  • LoggerLayoutHtml-Ausgabe im HTML-Format Debug-Informationen

  • LoggerLayoutSimple wird einfach im Format „Ebeneninformationen – Protokollinformationen“ angezeigt

  • LoggerLayoutTTCC wird im Format „Monat/Tag/Jahr“ angezeigt. Prozess] Ebeneninformationsprotokollname – Debug-Informationen“-Format wird angezeigt

  • LoggerLayoutPattern wird mit Musterausdruck als Ausgabeformat angezeigt (dieses Muster kann das Ausgabeformat anpassen)

  • LoggerXmlLayout//Ausgabe im XML-Modus

Einige Formatparameter des LoggerLayoutPattern-Modus

LoggerLayoutPattern bietet uns eine benutzerdefinierte Formatierungsmethode für Protokollinformationen, diesen Modus wird häufig in Projekten verwendet, um Protokollinformationen anzupassen. Bei der tatsächlichen Verwendung definieren wir das Muster durch die Konfiguration des Parameters „conversionPattern“. Parametervariablen werden normalerweise mithilfe einiger von log4php bereitgestellter Konvertierungsspezifizierer konfiguriert.
Zum Beispiel:

'conversionPattern' => '%date [%logger] %message%newline'
Nach dem Login kopieren

Das Format ist: jjjj-mm-ttThh:mm:ss+08:00.[Protokolltyp].Protokollinhalt.Neue Zeile.

Häufig verwendete Konvertierungsspezifizierer sind:

  • %logger(%lo,%c) Der Name des Loggers, der das Protokoll anfordert.

  • %data($d) Zeit. Der Standardwert ist das ISO8601-Format. Das Format kann über %data{(format)} geändert werden.

  • %location (%l) Die Standortinformationen des Anrufers

  • Der Inhalt des %message (%m %msg)-Protokolls

  • %n (%newline) newline

  • %level (%p) Priorität des aktuellen Protokollereignisses

Das obige ist der detaillierte Inhalt vonKonfiguration und Nutzung von log4php. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

See all articles