RCF has a configurable logging subsystem which can be controlled through the RCF::enableLogging() and RCF::disableLogging() functions. To use these functions, you will need to include the <RCF/Log.hpp> header.
By default, logging is disabled. To enable logging, call RCF::enableLogging(). RCF::enableLogging() takes two optional parameters, allowing you to specify log level and log target.
The log level can range from 0 (no logging at all) to 4 (verbose logging). The default log level is 2.
The log target parameter can be one of the following:
| Log target | Log output location |
|---|---|
RCF::LogToDebugWindow() | Windows only. Log output appears in Visual Studio debug output window. |
RCF::LogToStdout() | Log output appears on standard output. |
RCF::LogToFile(const std::string & logFilePath) | Log output appears in the nominated file. |
RCF::LogToFunc(std::function<void(const RCF::ByteBuffer &)>) | Log output is passed to a user-defined function. |
On Windows platforms, the default log target is RCF::LogToDebugWindow.
On non-Windows platforms, the default log target is RCF::LogToStdout.
Finally, to disable logging, call RCF::disableLogging():
RCF::enableLogging() and RCF::disableLogging() are internally threadsafe and can be called by multiple threads concurrently.