********************* VERALTETE PROPERTY ******************************
* Diese Property wird nicht mehr ausgewertet.                         *
***********************************************************************
NAME:
    P_LOG_FILE                   "log_file"

DEFINIERT IN:
    /sys/thing/properties.h

BESCHREIBUNG:
    Enthaelt einen String auf einen Filenamen. 

    Werden zu dem Objekt (Raum, Monster, ...) Fehlermeldungen abgesetzt, 
    werden diese in das angegebene File umgeleitet. Die Eintragung in
    die per Default fuer Fehlermeldungen vorgesehenen Dateien erfolgt
    nicht.

BEMERKUNGEN:
    P_LOG_FILE wird ausgewertet wie log_file().

    Das heisst, es wird AUF JEDEN FALL nach /log geschrieben!

    Direkt in /log kann NICHT geschrieben werden, es muss also ein 
    Unterverzeichnis mit Eurem Magiernamen vorhanden sein.

BEISPIELE:
    SetProp(P_LOG_FILE,"tilly_log");          // FALSCH, es wuerde versucht, 
                                                 das File /log/tilly_log 
                                                 anzulegen
    SetProp(P_LOG_FILE,"/log/tilly_log");     // FALSCH, es wuerde versucht, 
                                                 das File /log/log/tilly_log
                                                 anzulegen
    SetProp(P_LOG_FILE,"/d/ebene/tilly_log"); // FALSCH, s.o.

    SetProp(P_LOG_FILE,"tilly/tilly_log");    // RICHTIG!

    Im letzten Beispiel werden alle Eintraege in das File tilly_log ge-
    schrieben, das sich im Verzeichnis /log/tilly/ befindet.

    Das Unterverzeichnis /tilly in /log muss zuvor angelegt werden.

SIEHE AUCH:
    P_LOG_INFO, write_file(), log_file(),

Letzte Aenderung: 13.09.04 Tilly@MorgenGrauen
