added wxLog::IsLevelEnabled() helper; document it and a few related functions which were not, or poorly, documented

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2009-07-08 14:16:55 +00:00
parent f54277629a
commit ba3af1010d
2 changed files with 40 additions and 1 deletions

View File

@@ -164,9 +164,13 @@ public:
// these functions allow to completely disable all log messages // these functions allow to completely disable all log messages
// is logging disabled now? // is logging enabled at all now?
static bool IsEnabled() { return ms_doLog; } static bool IsEnabled() { return ms_doLog; }
// is logging at this level enabled?
static bool IsLevelEnabled(wxLogLevel level)
{ return IsEnabled() && level <= ms_logLevel; }
// change the flag state, return the previous one // change the flag state, return the previous one
static bool EnableLogging(bool doIt = true) static bool EnableLogging(bool doIt = true)
{ bool doLogOld = ms_doLog; ms_doLog = doIt; return doLogOld; } { bool doLogOld = ms_doLog; ms_doLog = doIt; return doLogOld; }

View File

@@ -724,6 +724,19 @@ public:
*/ */
static void DontCreateOnDemand(); static void DontCreateOnDemand();
/**
Globally enable or disable logging.
Calling this function with @false argument disables all log messages.
@see wxLogNull, IsEnabled()
@return
The old state, i.e. @true if logging was previously enabled and
@false if it was disabled.
*/
static bool EnableLogging(bool enable = true);
/** /**
Shows all the messages currently in buffer and clears it. Shows all the messages currently in buffer and clears it.
If the buffer is already empty, nothing happens. If the buffer is already empty, nothing happens.
@@ -744,6 +757,11 @@ public:
/** /**
Returns the current log level limit. Returns the current log level limit.
All messages at levels strictly greater than the value returned by this
function are not logged at all.
@see SetLogLevel(), IsLevelEnabled()
*/ */
static wxLogLevel GetLogLevel(); static wxLogLevel GetLogLevel();
@@ -782,6 +800,23 @@ public:
*/ */
static bool IsAllowedTraceMask(const wxString& mask); static bool IsAllowedTraceMask(const wxString& mask);
/**
Returns true if logging is enabled at all now.
@see IsLevelEnabled(), EnableLogging()
*/
static bool IsEnabled();
/**
Returns true if logging at this level is enabled.
This function only returns @true if logging is globally enabled and if
this level is less than or equal to the global log level value.
@see IsEnabled(), SetLogLevel(), GetLogLevel()
*/
static bool IsLevelEnabled(wxLogLevel level);
/** /**
Remove the @a mask from the list of allowed masks for Remove the @a mask from the list of allowed masks for
wxLogTrace(). wxLogTrace().