#include <wx/log.h>
wxLogBuffer is a very simple implementation of log sink which simply collects all the logged messages in a string (except the debug messages which are output in the usual way immediately as we're presumably not interested in collecting them for later).
The messages from different log function calls are separated by the new lines.
All the messages collected so far can be shown to the user (and the current buffer cleared) by calling the overloaded wxLogBuffer::Flush method.
Public Member Functions | |
wxLogBuffer () | |
The default ctor does nothing. More... | |
void | Clear () |
Clear all the messages in the buffer. More... | |
virtual void | Flush () |
Shows all the messages collected so far to the user (using a message box in the GUI applications or by printing them out to the console in text mode) and clears the internal buffer. More... | |
const wxString & | GetBuffer () const |
Returns the current buffer contains. More... | |
Public Member Functions inherited from wxLog | |
wxLogFormatter * | SetFormatter (wxLogFormatter *formatter) |
Sets the specified formatter as the active one. More... | |
void | LogRecord (wxLogLevel level, const wxString &msg, const wxLogRecordInfo &info) |
Log the given record. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from wxLog | |
static void | AddTraceMask (const wxString &mask) |
Add the mask to the list of allowed masks for wxLogTrace(). More... | |
static void | ClearTraceMasks () |
Removes all trace masks previously set with AddTraceMask(). More... | |
static const wxArrayString & | GetTraceMasks () |
Returns the currently allowed list of string trace masks. More... | |
static bool | IsAllowedTraceMask (const wxString &mask) |
Returns true if the mask is one of allowed masks for wxLogTrace(). More... | |
static void | RemoveTraceMask (const wxString &mask) |
Remove the mask from the list of allowed masks for wxLogTrace(). More... | |
static void | DontCreateOnDemand () |
Instructs wxLog to not create new log targets on the fly if there is none currently (see GetActiveTarget()). More... | |
static wxLog * | GetActiveTarget () |
Returns the pointer to the active log target (may be nullptr). More... | |
static wxLog * | SetActiveTarget (wxLog *logtarget) |
Sets the specified log target as the active one. More... | |
static wxLog * | SetThreadActiveTarget (wxLog *logger) |
Sets a thread-specific log target. More... | |
static void | FlushActive () |
Flushes the current log target if any, does nothing if there is none. More... | |
static void | Resume () |
Resumes logging previously suspended by a call to Suspend(). More... | |
static void | Suspend () |
Suspends the logging until Resume() is called. More... | |
static wxLogLevel | GetLogLevel () |
Returns the current log level limit. More... | |
static bool | IsLevelEnabled (wxLogLevel level, wxString component) |
Returns true if logging at this level is enabled for the current thread. More... | |
static void | SetComponentLevel (const wxString &component, wxLogLevel level) |
Sets the log level for the given component. More... | |
static void | SetLogLevel (wxLogLevel logLevel) |
Specifies that log messages with level greater (numerically) than logLevel should be ignored and not sent to the active log target. More... | |
static bool | EnableLogging (bool enable=true) |
Globally enable or disable logging. More... | |
static bool | IsEnabled () |
Returns true if logging is enabled at all now. More... | |
static bool | GetRepetitionCounting () |
Returns whether the repetition counting mode is enabled. More... | |
static void | SetRepetitionCounting (bool repetCounting=true) |
Enables logging mode in which a log message is logged once, and in case exactly the same message successively repeats one or more times, only the number of repetitions is logged. More... | |
static const wxString & | GetTimestamp () |
Returns the current timestamp format string. More... | |
static void | SetTimestamp (const wxString &format) |
Sets the timestamp format prepended by the default log targets to all messages. More... | |
static void | DisableTimestamp () |
Disables time stamping of the log messages. More... | |
static bool | GetVerbose () |
Returns whether the verbose mode is currently active. More... | |
static void | SetVerbose (bool verbose=true) |
Activates or deactivates verbose mode in which the verbose messages are logged as the normal ones instead of being silently dropped. More... | |
Protected Member Functions inherited from wxLog | |
virtual void | DoLogRecord (wxLogLevel level, const wxString &msg, const wxLogRecordInfo &info) |
Called to log a new record. More... | |
virtual void | DoLogTextAtLevel (wxLogLevel level, const wxString &msg) |
Called to log the specified string at given level. More... | |
virtual void | DoLogText (const wxString &msg) |
Called to log the specified string. More... | |
wxLogBuffer::wxLogBuffer | ( | ) |
The default ctor does nothing.
void wxLogBuffer::Clear | ( | ) |
Clear all the messages in the buffer.
This can be done to prevent them from being flushed by the next call to Flush(), which happens implicitly if this logger ceases to be the active logger after a call to wxLog::SetActiveTarget() with a different log target.
|
virtual |
Shows all the messages collected so far to the user (using a message box in the GUI applications or by printing them out to the console in text mode) and clears the internal buffer.
Reimplemented from wxLog.