Logging support
Ariba uses an internal logging system that you are free to use. Depending on the platform, logging goes through log4cxx or directly to std::cout. The Ariba configure script will check for availability of log4cxx on your system and use it if available.
All important definitions can be found in "ariba/utility/logging/Logging.h" To use logging in your application on a per-class basis, perform the following steps:
- If you want to use colors for the different logging-levels you can use the option --enable-logcolors=yes
- Include the logging header #include "ariba/utility/logging/Logging.h" in the header of your class where you want to use logging.
- Right inside the class definition of your .h class TestClass to use the following: use_logging_h(TestClass). In the .cpp source file use use_logging_cpp(TestClass).
- The order of log-level is "debug", "info", "warning", "error". The default log-level is "info".
- To change the default log-level you can use the functions
- logging_rootlevel_debug();
- logging_rootlevel_info();
- logging_rootlevel_warn();
- logging_rootlevel_error();
- To change the individual log-level of a class you can e.g. first set the global level to "warn" and then for your test-class to "debug". This feature is only available when you have log4cxx installed
logging_rootlevel_warn(); logging_classlevel_debug("TestClass");
- The log-level functions for individual classes are
- logging_classlevel_debug("TestClass")
- logging_classlevel_info("TestClass")
- logging_classlevel_warn("TestClass")
- logging_classlevel_error("TestClass")
- Finally, the functions to actually perform logging at the different levels are ("fatal" will kill the program)
- logging_debug("this is a log message")
- logging_info("this is a log message")
- logging_warn("this is a log message")
- logging_error("this is a log message")
- logging_fatal("this is a log message")
