NAME

Util::Logfile - Logdatei, die auch auf die Standardausgabe ausgibt


DESCRIPTION

Util::Logfile ist eine Logdatei, die auch auf die Standardausgabe ausgibt. Sie kann anstelle von print benutzt werden, das Schreiben in eine Logdatei ist optional. Meldungen müssen nicht mit einem Newline abgeschlossen werden, das erledigen die Logging-Funktionen.

Sie ist ein Ersatz für http://cpan.uwinnipeg.ca/htdocs/Log-Logger/Log/Logger.html (Klasse Log::Logger) und kann anstelle dieser benutzt werden.

Log::Logger versucht auch nicht geöffnete Filehandles zu benutzen (Flush), schreibt keine Uhrzeit in die Logdatei und man kann nicht definieren, ob der Output ein Fehler ist (Ausgabe auf STDERR).


METHODS

$log = Util::Logfile->new($filename, $append)

Erzeugt ein neues Objekt.

Der 1. Parameter ist optional und ein String mit dem Dateinamen. Ist er definiert, wird die Datei geöffnet.

Der 2. Parameter ist ein Boolean und true, falls die Ausgabe angehängt werden soll. Ist er false, wird eine existierende Logdatei gleichen Namens überschrieben. Fehlt der Parameter, wird eine existierende Datei ebenfalls überschrieben.

$success = $log->open($filename, $append)

Öffnet eine Datei zum Loggen. Eine bereits geöffnete wird vorher geschlossen.

Der 1. Parameter ist ein String mit dem Dateinamen

Der 2. Parameter ist ein Boolean und true, falls die Ausgabe angehängt werden soll. Ist er false, wird eine existierende Logdatei gleichen Namens überschrieben. Fehlt der Parameter, wird eine existierende Datei ebenfalls überschrieben.

Der Rückgabewert ist true bei Erfolg, sonst false

$success $log->open_append($filename)

Beibehalten aus Kompatiblitätsgründen. Ruft $log->open_append($filename, 1) auf.

$log->log($message, $error)

Schreibt eine Nachricht (nur) in die Logdatei, sofern zum Schreiben geöffnet.

Der 1. Parameter ist ein String mit der Nachricht, in der Logdatei wird außerdem die Systemzeit vorangestellt im Format (YYYY-MM-DD HH:MM:SS)

Der 2. Parameter ist ein Boolean und true im Fehlerfall. In die Logdatei wird in diesem Fall der Nachricht zusätzlich der Text [Error] vorangestellt.

$log->log_print($message, $error)

Schreibt die Nachricht in die Logdatei und gibt sie aus, im Fehlerfall auf STDERR, sonst auf STDOUT.

Die Parameter sind beschrieben unter log().

$log->fail($message, $exit_value)

Loggt eine Nachricht und beendet die Programmausführung via exit().

Der 1. Parameter ist ein String mit der Nachricht

Der 2. Parameter ist der Wert, mit dem das Programm beendet wird; wird dieser ausgelassen, ist der Exit-Wert 1

$log->set_logfile_max_size($max_size)

Setzt die maximale Größe der Logdatei. Ist diese erreicht, wird eine Backupdatei gleichen Namens mit der Endung '.bak' erzeugt und danach die Logdatei gelöscht.

Der 1. Parameter ist die maximale Größe in Bytes. Default: 1 MB.

$log->set_verbose($verbose)

Setzt, ob mit log_verbose() Meldungen ausgegeben werden sollen. Default: false.

Der erste Parameter ist ein Boolean

$log->log_verbose($message)

Gibt eine Nachricht auf die Standardausgabe aus, sofern der Verobse-Modus gesetzt wurde mit set_verbose().

Der 1. Parameter ist ein String mit der Nachricht


AUTHOR

Elmar Baumann <eb@elmar-baumann.de>