
P_LOG_FILE
**********

********************* 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
