Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
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?

Spacer
<< zurück
eZ Components von Tobias Schlitt, Kore Nordmann
Das Entwickler-Handbuch
Buch: eZ Components

eZ Components
geb., mit CD
454 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1073-7
Pfeil 15 Logging
Pfeil 15.1 Die EventLog-Komponente
Pfeil 15.2 Einbindung in die Applikation
Pfeil 15.2.1 Fehler protokollieren
Pfeil 15.2.2 Weitere Nachrichten loggen
Pfeil 15.2.3 Zusätzliche Daten loggen
Pfeil 15.2.4 Kategorien und Quelle
Pfeil 15.2.5 Eigener Log-Writer
Pfeil 15.3 Weitere Möglichkeiten mit EventLog
Pfeil 15.3.1 Loggen in der Datenbank
Pfeil 15.3.2 Lazy-Initialization
Pfeil 15.4 Fazit


Galileo Computing - Zum Seitenanfang

15.3 Weitere Möglichkeiten mit EventLog Zur nächsten ÜberschriftZur vorigen Überschrift

Auf einige der Möglichkeiten wie das EventLogDatabaseTiein, welche die EventLog-Komponente bietet, ist in den in die Applikation eingebetteten Beispielen nicht eingegangen worden.


Galileo Computing - Zum Seitenanfang

15.3.1 Loggen in der Datenbank Zur nächsten ÜberschriftZur vorigen Überschrift

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.


Galileo Computing - Zum Seitenanfang

15.3.2 Lazy-Initialization topZur vorigen Überschrift

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
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: PHP 5.3 und MySQL 5.1






 PHP 5.3 und
 MySQL 5.1


Zum Katalog: Besser PHP programmieren






 Besser PHP
 programmieren


Zum Katalog: Webshops mit Magento






 Webshops mit
 Magento


Zum Katalog: Sichere Webanwendungen






 Sichere
 Webanwendungen


Zum Katalog: PHP 5.3 und MySQL 5.1 - Videotraining






 PHP 5.3 und
 MySQL 5.1 -
 Videotraining


Zum Katalog: Apache 2






 Apache 2


Zum Katalog: Suchmaschinen-Optimierung für Webentwickler






 Suchmaschinen-
 Optimierung
 für Webentwickler


Zum Katalog: Joomla! 1.5






 Joomla! 1.5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




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