# RLogMacros

## Defines

#define | rDebug(...) _rMessage( LOGID, rlog::_RLDebugChannel, ##__VA_ARGS__ )
| Log a message to the "debug" channel. Takes printf style arguments.
#define | rInfo(...) _rMessage( LOGID, rlog::_RLInfoChannel, ##__VA_ARGS__ )
| Log a message to the "debug" channel. Takes printf style arguments.
#define | rWarning(...) _rMessage( LOGID, rlog::_RLWarningChannel, ##__VA_ARGS__ )
| Log a message to the "warning" channel. Takes printf style arguments.
#define | rError(...) _rMessage( LOGID, rlog::_RLErrorChannel, ##__VA_ARGS__ )
| Log a message to the "error" channel. Takes printf style arguments.
#define | rLog(channel,...) _rMessage( LOGID, channel, ##__VA_ARGS__ )
| Log a message to a user defined channel. Takes a channel and printf style arguments.

## Detailed Description

These macros are the primary interface for logging messages:

- rDebug(format, ...)
- rInfo(format, ...)
- rWarning(format, ...)
- rError(format, ...)
- rLog(channel, format, ...)
- rAssert( condition )

## Define Documentation

#define rDebug | ( | ... |  | ) | _rMessage( LOGID, rlog::_RLDebugChannel, ##__VA_ARGS__ )

Log a message to the "debug" channel. Takes printf style arguments.

Format is ala printf, eg:

        rDebug("I'm sorry %s, I can't do %s", name, request);

When using a recent GNU compiler, it should automatically detect format string / argument mismatch just like it would with printf.

Note that unless there are subscribers to this message, it will do nothing.

#define rError | ( | ... |  | ) | _rMessage( LOGID, rlog::_RLErrorChannel, ##__VA_ARGS__ )

Log a message to the "error" channel. Takes printf style arguments.

An error indicates that something has definately gone wrong.

Format is ala printf, eg:

        rError("bad input %s, aborting request", input);

When using a recent GNU compiler, it should automatically detect format string / argument mismatch just like it would with printf.

Note that unless there are subscribers to this message, it will do nothing.

#define rInfo | ( | ... |  | ) | _rMessage( LOGID, rlog::_RLInfoChannel, ##__VA_ARGS__ )

Log a message to the "debug" channel. Takes printf style arguments.

Format is ala printf, eg:

        rInfo("I'm sorry %s, I can't do %s", name, request);

When using a recent GNU compiler, it should automatically detect format string / argument mismatch just like it would with printf.

Note that unless there are subscribers to this message, it will do nothing.

#define rLog | ( | channel,
|  | ... |  | ) | _rMessage( LOGID, channel, ##__VA_ARGS__ )

Log a message to a user defined channel. Takes a channel and printf style arguments.

An error indicates that something has definately gone wrong.

Format is ala printf, eg:

        static RLogChannel * MyChannel = RLOG_CHANNEL( "debug/mine" );
        rLog(MyChannel, "happy happy, joy joy");

When using a recent GNU compiler, it should automatically detect format string / argument mismatch just like it would with printf.

Note that unless there are subscribers to this message, it will do nothing.

#define rWarning | ( | ... |  | ) | _rMessage( LOGID, rlog::_RLWarningChannel, ##__VA_ARGS__ )

Log a message to the "warning" channel. Takes printf style arguments.

Output a warning message - meant to indicate that something doesn't seem right.

Format is ala printf, eg:

        rWarning("passed %i, expected %i, continuing", foo, bar);

When using a recent GNU compiler, it should automatically detect format string / argument mismatch just like it would with printf.

Note that unless there are subscribers to this message, it will do nothing.