CACAO
Namespaces | Macros | Functions
logging.hpp File Reference

Go to the source code of this file.

Namespaces

 cacao
 This file contains the Instruction class.
 

Macros

#define LOG_WITH_NAME_N(DBG_NAME, VERBOSE,STMT)   do { } while(0)
 
#define LOG_WITH_NAME(DBG_NAME, STMT)   LOG_WITH_NAME_N(DBG_NAME, 0, STMT)
 
#define LOG_N(VERBOSE, STMT)   LOG_WITH_NAME_N(DEBUG_NAME, VERBOSE, STMT)
 
#define LOG(STMT)   LOG_N(0, STMT)
 Analogous to DEBUG. More...
 
#define LOG1(STMT)   LOG_N(1, STMT)
 
#define LOG2(STMT)   LOG_N(2, STMT)
 
#define LOG3(STMT)   LOG_N(3, STMT)
 
#define WARNING_MSG(EXPR_SHORT, EXPR_LONG)
 
#define assert_msg(COND, EXPR)
 
#define ERROR_MSG(EXPR_SHORT, EXPR_LONG)
 
#define ABORT_MSG(EXPR_SHORT, EXPR_LONG)
 
#define SHOULDNOTREACH_MSG(EXPR_LONG)
 
#define UNIMPLEMENTED_MSG(EXPR_LONG)
 
#define log_text(s)   log_println("%s", (s))
 
#define dolog   log_println
 

Functions

OStream & cacao::dbg ()
 The default destination for logging messages. More...
 
FILE * log_get_logfile ()
 
void log_init (const char *fname)
 
void log_start (void)
 
void log_vprint (const char *text, va_list ap)
 
void log_print (const char *text,...)
 
void log_println (const char *text,...)
 
void log_finish (void)
 
void log_message_utf (const char *msg, Utf8String u)
 
void log_message_class (const char *msg, classinfo *c)
 
void log_message_class_message_class (const char *msg1, classinfo *c1, const char *msg2, classinfo *c2)
 
void log_message_method (const char *msg, methodinfo *m)
 

Macro Definition Documentation

#define ABORT_MSG (   EXPR_SHORT,
  EXPR_LONG 
)
Value:
do { \
ERROR_MSG(EXPR_SHORT, EXPR_LONG); \
} while (0)
#define ERROR_MSG(EXPR_SHORT, EXPR_LONG)
Definition: logging.hpp:124
static void abort()
Definition: os.hpp:196

Definition at line 133 of file logging.hpp.

#define assert_msg (   COND,
  EXPR 
)
Value:
do { \
if ( ! (COND) ) { \
cacao::OStream stream = cacao::err(); \
\
{ stream << cacao::BoldRed << "assertion failed: " ; } \
{ stream << cacao::BoldWhite<<"`"#COND"'"<< cacao::reset_color; } \
{ stream << cacao::nl << EXPR << cacao::nl ; } \
assert( COND ); \
} \
} while (0)
ResetColor reset_color
Definition: OStream.cpp:61
OStream & err()
Definition: OStream.cpp:33
Nl nl
Definition: OStream.cpp:56

Definition at line 107 of file logging.hpp.

#define dolog   log_println

Definition at line 171 of file logging.hpp.

#define ERROR_MSG (   EXPR_SHORT,
  EXPR_LONG 
)
Value:
do { \
cacao::OStream stream = cacao::err(); \
\
{ stream << cacao::BoldRed << "error: " ; } \
{ stream << cacao::BoldWhite << EXPR_SHORT << cacao::reset_color ; } \
{ stream << cacao::nl << EXPR_LONG << cacao::nl; } \
} while (0)
ResetColor reset_color
Definition: OStream.cpp:61
OStream & err()
Definition: OStream.cpp:33
Nl nl
Definition: OStream.cpp:56

Definition at line 124 of file logging.hpp.

#define LOG (   STMT)    LOG_N(0, STMT)

Analogous to DEBUG.

Definition at line 91 of file logging.hpp.

#define LOG1 (   STMT)    LOG_N(1, STMT)

Definition at line 92 of file logging.hpp.

#define LOG2 (   STMT)    LOG_N(2, STMT)

Definition at line 93 of file logging.hpp.

#define LOG3 (   STMT)    LOG_N(3, STMT)

Definition at line 94 of file logging.hpp.

#define LOG_N (   VERBOSE,
  STMT 
)    LOG_WITH_NAME_N(DEBUG_NAME, VERBOSE, STMT)

Definition at line 89 of file logging.hpp.

#define log_text (   s)    log_println("%s", (s))

Definition at line 170 of file logging.hpp.

#define LOG_WITH_NAME (   DBG_NAME,
  STMT 
)    LOG_WITH_NAME_N(DBG_NAME, 0, STMT)

Definition at line 88 of file logging.hpp.

#define LOG_WITH_NAME_N (   DBG_NAME,
  VERBOSE,
  STMT 
)    do { } while(0)

Definition at line 84 of file logging.hpp.

#define SHOULDNOTREACH_MSG (   EXPR_LONG)
Value:
do { \
ERROR_MSG("should not reach", EXPR_LONG); \
} while (0)
#define ERROR_MSG(EXPR_SHORT, EXPR_LONG)
Definition: logging.hpp:124
static void abort()
Definition: os.hpp:196

Definition at line 139 of file logging.hpp.

#define UNIMPLEMENTED_MSG (   EXPR_LONG)
Value:
do { \
ERROR_MSG("not implemented yet", EXPR_LONG); \
} while (0)
#define ERROR_MSG(EXPR_SHORT, EXPR_LONG)
Definition: logging.hpp:124
static void abort()
Definition: os.hpp:196

Definition at line 145 of file logging.hpp.

#define WARNING_MSG (   EXPR_SHORT,
  EXPR_LONG 
)
Value:
do { \
cacao::OStream stream = cacao::err(); \
\
{ stream << cacao::BoldWhite << __FILE__ << ":" << __LINE__ << ": ";} \
{ stream << cacao::BoldMagenta << "warning: " ; } \
{ stream << cacao::BoldWhite << EXPR_SHORT << cacao::reset_color ; } \
{ stream << cacao::nl << EXPR_LONG << cacao::nl; } \
} while (0)
ResetColor reset_color
Definition: OStream.cpp:61
OStream & err()
Definition: OStream.cpp:33
Nl nl
Definition: OStream.cpp:56

Definition at line 96 of file logging.hpp.

Function Documentation

void log_finish ( void  )

Definition at line 117 of file logging.cpp.

FILE* log_get_logfile ( )

Definition at line 90 of file logging.cpp.

void log_init ( const char *  fname)

Definition at line 75 of file logging.cpp.

void log_message_class ( const char *  msg,
classinfo c 
)

Definition at line 237 of file logging.cpp.

void log_message_class_message_class ( const char *  msg1,
classinfo c1,
const char *  msg2,
classinfo c2 
)

Definition at line 251 of file logging.cpp.

void log_message_method ( const char *  msg,
methodinfo m 
)

Definition at line 275 of file logging.cpp.

void log_message_utf ( const char *  msg,
Utf8String  u 
)

Definition at line 214 of file logging.cpp.

void log_print ( const char *  text,
  ... 
)

Definition at line 149 of file logging.cpp.

void log_println ( const char *  text,
  ... 
)

Definition at line 193 of file logging.cpp.

void log_start ( void  )

Definition at line 106 of file logging.cpp.

void log_vprint ( const char *  text,
va_list  ap 
)

Definition at line 135 of file logging.cpp.