Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Vorwort
1 Einleitung
2 Einführung in eZ Components
3 Die Applikationsbasis
4 Fehlerbehandlung und Debugging
5 Konfiguration
6 Datenbankanbindung
7 ORM mit PersistentObject
8 Template
9 Übersetzung
10 Benutzereingaben validieren
11 Authentifizierung
12 Bildverarbeitung
13 Archive und Dateien
14 Mail
15 Logging
16 Diagramme
17 Feeds und Caching
18 Setup
A Inhalt der Buch-CD
Stichwort
Download: - ZIP, ca. 2,7 MB
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> /eZ Components | vor >>
eZ Components von Tobias Schlitt, Kore Nordmann Das Entwickler-Handbuch
eZ Components geb., mit CD 454 S., 39,90 Euro Galileo Computing ISBN 978-3-8362-1073-7 |
| 15 Logging
|  | 15.1 Die EventLog-Komponente
|  | 15.2 Einbindung in die Applikation
|  |  | 15.2.1 Fehler protokollieren
|  |  | 15.2.2 Weitere Nachrichten loggen
|  |  | 15.2.3 Zusätzliche Daten loggen
|  |  | 15.2.4 Kategorien und Quelle
|  |  | 15.2.5 Eigener Log-Writer
|  | 15.3 Weitere Möglichkeiten mit EventLog
|  |  | 15.3.1 Loggen in der Datenbank
|  |  | 15.3.2 Lazy-Initialization
|  | 15.4 Fazit
## 15.3 Weitere Möglichkeiten mit EventLog Auf einige der Möglichkeiten wie das EventLogDatabaseTiein, welche die EventLog-Komponente bietet, ist in den in die Applikation eingebetteten Beispielen nicht eingegangen worden. ### 15.3.1 Loggen in der Datenbank Neben dem eigenen Log-Writer für ein eigenes Tabellenschema existiert im EventLogDatabaseTiein ein genereller Log-Writer, der einfach in den existierenden Logging-Mechanismus integriert werden kann. Die Datenbanktabelle muss dabei zumindest Spalten für die aus den vorigen Abschnitten bekannten Eigenschaften von Log-Nachrichten enthalten: time message severity source category Weitere Spalten sind notwendig, wenn noch eigene Optionen an die Log-Nachrichten angehängt werden, wie beispielsweise die IP-Adresse im Beispiel der protokollierten Fehler in Abschnitt 15.2.3, »Zusätzliche Daten loggen«.
    $log = ezcLog::getInstance();

    // Create a database writer attached to the database handler and
    // the table "log"
    $writer = new ezcLogDatabaseWriter(
        ezcDbInstance::get(),
        'log'
    );

    // Specify that log messages will be written to the database
    $log->getMapper()->appendRule(
        new ezcLogFilterRule( new ezcLogFilter, $writer, true )
    );

    // Write a log entry ( message, severity, source, category )
    $log->log(
        "Some random warning.",
        ezcLog::WARNING,
        array(
            "source" => "Application",
            "category" => "Design"
        )
    );
Listing 15.11 Verwendung von ezcLogDatabaseWriter Erzeugt wird ein Objekt der Klasse ezcLogDatabaseWriter mit einer aktiven Instanz der ezcDbHandler, wie sie in Kapitel 6, »Datenbankanbindung«, vorgestellt wurde, und dem Namen der Tabelle, in die die Log-Nachricht geschrieben werden soll. Nachdem das $writer-Objekt unter der üblichen und zuvor beschriebenen Angabe von Filtern dem ezcLogMapper hinzugefügt wurde, werden die spezifizierten Klassen von Nachrichten in die Tabelle geschrieben. ### 15.3.2 Lazy-Initialization Die in Abschnitt 2.3.4, »Lazy-Initialization«, vorgestellte Lazy-Initialization ist auch mit der EventLog-Komponente verwendbar. Dazu muss eine Klasse das ezcBaseConfigurationInitializer-Interface implementieren und kann dann in der Methode configureObject(), die eine Instanz von ezcLog übergeben bekommt, die Logging-Abbildungen definieren. Dies funktioniert entsprechend dem zuvor gezeigtem Code in der Methode gpBlogController::init(). Der Vorteil von Lazy-Initialization ist, dass die EventLog-Komponente erst mit der ersten Log-Nachricht initialisiert wird. Und falls die Applikation ohne Logging auskommt, wird sie sogar überhaupt nicht initialisiert. Das spart eventuell Speicher und Ausführungszeit, besonders beim Loggen von Fehlern und kritischen Operationen, die eine Ausnahme während der Ausführung der Applikation darstellen sollten. ### Ihr Kommentar Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück | <top> | vor >>
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchempfehlungen
| PHP 5.3 und MySQL 5.1
| Besser PHP programmieren
| Webshops mit Magento
| Sichere Webanwendungen
| PHP 5.3 und MySQL 5.1 - Videotraining
| Apache 2
| Suchmaschinen- Optimierung für Webentwickler
| Joomla! 1.5
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de