Verwaltet die Zeichenketten, die der Agent ausgeben möchte
Verwaltet die Zeichenketten, die der Agent ausgeben möchte. Abhängig vom eingestellten DebugModus und dazu gehörigen DebugLevel werden Zeilen ausgegeben oder nicht.
Der DebugModus setzt sich aus mehreren Modi zusammen, deren DebugLevel im Konfigurationsfile des Agenten festgelegt werden. Warnungen und Fehler (Debug-Informationen der Level 0 und 1) werden immer ausgegeben.Modi:
Communicator Debug-Informationen des Communicators Sensor Debug-Informationen der Sensoren ... ... DebugLevel:
0 Fehler ausgeben 1 zusätzlich Warnungen ausgeben 2-4 zusätzlich Funktionseintritte und Funktionsbeendigungen 5-7 zusätzlich Ergebnisse von Funktionen (wichtige Informationen, wie see, hear, utility-Werte) 8-10 zusätzlich Informationen zu Zwischenschritten 11-15 zusätzlich weitere Informationen
Wichtige Funktionseintritte sollten beispielsweise mit einem Level von 2, unwichtige Funktionseintritte dagegen mit einen Level von 4 aktiviert werden.Beispiel zur Benutzung:
INFO( Log::WORLD_MODEL, 7, "Hallo" )In diesem Fall wird "Hallo" ausgegeben, wenn der DebugLevel für das Weltmodell auf 7 oder größer gesetzt wurde.Wenn man viele Debug-Ausschriften ausgeben möchte, dann bietet sich diese Benutzung an:
if ( IS_ACTIVE( Log::WORLD_MODEL, 7 ) ) { globalLog->info( "Hallo" ); globalLog->info( "nochmal Hallo" ); }Die Markos schreiben immer ins globalLog.
Quelltext
[Header | [Implementierung]
CVS Informationen zum Interface
************************************************** * * Aktueller Stand * * $RCSfile: Log.h,v $ * $Revision: 1.27 $ * $Date: 1998/08/14 13:20:47 $ * $Author: myritz $ * **************************************************
const int COMMUNICATOR
const int CONFIGURATION
const int SENSORS
const int EFFECTORS
const int SITUATION
const int WORLD_MODEL
const int TIMER
const int DELIBERATOR
const int CONSTRAINTS
const int PASSIVE_OPTIONS
const int ACTIVE_OPTIONS
const int MODELLED_OBJECTS
void init( Configuration *aConfigurationObject )
void warning( const String& message )
void info( const String& message )
#define ERROR( message )
#define WARNING( debugMode, message )
message - Die Nachricht die ausgegeben werden soll. #define INFO( debugMode, debugLevel, message )
debugLevel - Der Debug-Level ab dem ausgeben werden soll.
message - Die Nachricht die ausgegeben werden soll.
Array <int> theModeActivation
ostream* theTargetStream
Einleitung | Architektur | Dynamische Zusammenhänge | Referenzhandbuch | FAQ | Anhang A | Anhang B
generated by doc++