Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET Apache Qpid Documentation
Static Public Member Functions | List of all members
qpid::messaging::Logger Class Reference

A utility class to allow the application to control the logging output of the qpid messaging library. More...

#include <qpid/messaging/Logger.h>

Static Public Member Functions

static void configure (int argc, const char *argv[], const std::string &prefix=std::string())
 Configure the logging subsystem. More...
 
static std::string usage ()
 Get a user friendly usage message. More...
 
static void setOutput (LoggerOutput &output)
 Register a custom handler for log messages. More...
 
static void log (Level level, const char *file, int line, const char *function, const std::string &message)
 Output a log message. More...
 

Detailed Description

A utility class to allow the application to control the logging output of the qpid messaging library.

This class represents a singleton logging facility within the qpid messaging library so there are only static methods in the class

Definition at line 72 of file Logger.h.

Member Function Documentation

static void qpid::messaging::Logger::configure ( int  argc,
const char *  argv[],
const std::string &  prefix = std::string() 
)
static

Configure the logging subsystem.

This function takes an array of text options (which could easily come from a programs command line) and uses them to configure the logging subsystem.

If the prefix parameter is specified then the accepted command line options are prefixed by <<prefix>>- for example if the prefix is "qpid" then the options all start "--qpid-log..."

Accepted options are: –log-enable RULE –log-disable RULE

Both –log-enable and –log-disable can be specified multiple times in a single command line. The enables are acted upon and after them the disables are acted upon.

RULE is in the form LEVEL[("+"|"-")][:PATTERN] LEVEL is one of "trace", "debug", "info", "notice", "warning", "error", "critical" "+" operates on the level and all higher levels "-" operates on the level and all lower levels PATTERN is a category name or a fragment of a fully namespace qualified function (Case sensitive).

–log-to-stdout ("on"|"off|"0"|"1") --log-to-stderr ("on"|"off|"0"|"1") –log-to-file FILENAME

These options control where the qpid logging subsystem sends log messages

–log-time ("on"|"off|"0"|"1") --log-level ("on"|"off|"0"|"1") –log-source ("on"|"off|"0"|"1") --log-thread ("on"|"off|"0"|"1") –log-function ("on"|"off|"0"|"1") --log-hires-timestamp ("on"|"off|"0"|"1")

These options control what information is included in the logging message sent by the logging subsystem.

Parameters
argccount of options - identical to meaning for main().
argvarray of pointers to options - identical to meaning for main().
prefix(optional) If present prefix all logging options with this string
Exceptions
MessagingExceptionif it cannot parse an option it recognises
static void qpid::messaging::Logger::log ( Level  level,
const char *  file,
int  line,
const char *  function,
const std::string &  message 
)
static

Output a log message.

This will get sent to all the specified logging outputs including any the application has registered. The message will get filtered along with the internal messages according to the specified logging filters.

When a log message output using log() is received by a LoggerOutput::log() method the "user" bool parameter will be set true.

static void qpid::messaging::Logger::setOutput ( LoggerOutput output)
static

Register a custom handler for log messages.

This allows application programs to intercept the log messages coming from qpid::messaging and handle them in whatever way is consonent with the applications own handling of log messages.

In order to do this create a class that inherits from qpid::messaging::LoggerOutput and override the log() member function.

static std::string qpid::messaging::Logger::usage ( )
static

Get a user friendly usage message.

This returns a usage message that is suitable for outputting directly to a console user. The message only contains the command line options that are understood by qpid::messaging::Logger::configure().

NB. You must call qpid::messaging::Logger::configure() before calling this to populate the usage string as the usage string depends on the prefix that is passed in to qpid::messaging::Logger::configure().

Returns
string containing the usage message for the command line options

The documentation for this class was generated from the following file:

Qpid C++ API Reference
Generated on Tue Oct 28 2014 for Qpid C++ Client API by doxygen 1.8.5