SYNOPSIS
        #include <debug_message.h>

        void debug_message(string text)
        void debug_message(string text, int flags)

BESCHREIBUNG
        Gibt <text> an die Ausgaenge stdout und stderr sowie an die Datei
        <host>.debug.log oder an eine beliebige Kombination dieser drei aus.

        Das Argument <flag> bezeichnet durch eine Kombination von Bitflags das
        Ziel und die Art, in der das Resultat geschrieben wird.

        Die Ziel-Flags sind: DMSG_STDOUT, DMSG_STDERR und DMS_LOGFILE. Wird
        zusaetzlich das Flag DMSG_STAMP gesetzt, erhaelt jeder Eintrag einen
        Zeitstempel (Timestamp) im Format 'YYYY.MM.DD HH:MM:SS '.

        Wenn <flags> 0 ist, weggelassen wird oder kein Ziel-Flag enthaelt,
        wird <text> standardmaessig an stdout und ins Logfile ausgegeben.


BEISPIELE
        debug_message("Dieser Text geht an stdout und ins Logfile.\n");
        debug_message("Dies geht an stderr.\n", DMSG_STDERR);
        debug_message("Dies geht an stdout und stderr.\n", DMSG_STDOUT
            | DMSG_STDERR);
        debug_message("Dies geht an stdout und ins Logfile, mit Timestamp.\n",
            DMSG_STAMP);
        debug_message("Die geht an stdout, mit vorangestelltem Timestamp.\n",
            DMSG_STDOUT | DMSG_STAMP);

GESCHICHTE
        Eingefuehrt in 3.2.1@34.
        LDMud 3.2.9 fuehrte das Argument <flags> ein.

SIEHE AUCH
        last_instructions(E)
