added wxLog::ClearTraceMasks()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2001-05-17 10:11:34 +00:00
parent 1912918cce
commit 36bd690299
3 changed files with 36 additions and 4 deletions

View File

@ -30,8 +30,9 @@ No base class
The functions in this section work with and manipulate the active log target.
The {\it OnLog()} is called by the {\it wxLogXXX()} functions and invokes the
{\it DoLog()} of the active log target if any. Get/Set methods are used to
install/query the current active target and, finally, {\it
DontCreateOnDemand()} disables the automatic creation of a standard log target
install/query the current active target and, finally,
\helpref{DontCreateOnDemand()}{wxlogdontcreateondemand}
disables the automatic creation of a standard log target
if none actually exists. It is only useful when the application is terminating
and shouldn't be used in other situations because it may easily lead to a loss
of messages.
@ -123,6 +124,7 @@ window on the corresponding error message. If you wish to enable it, please use
\helpref{AddTraceMask}{wxlogaddtracemask}\\
\helpref{RemoveTraceMask}{wxlogremovetracemask}\\
\helpref{ClearTraceMasks}{wxlogcleartracemasks}\\
\helpref{IsAllowedTraceMask}{wxlogisallowedtracemask}\\
\helpref{SetVerbose}{wxlogsetverbose}\\
\helpref{GetVerbose}{wxloggetverbose}\\
@ -147,6 +149,15 @@ Add the {\it mask} to the list of allowed masks for
See also: \helpref{RemoveTraceMask}{wxlogremovetracemask}
\membersection{wxLog::ClearTraceMasks}\label{wxlogcleartracemasks}
\func{static void}{ClearTraceMasks}{\void}
Removes all trace masks previously set with
\helpref{AddTraceMask}{wxlogaddtracemask}.
See also: \helpref{RemoveTraceMask}{wxlogremovetracemask}
\membersection{wxLog::OnLog}\label{wxlogonlog}
\func{static void}{OnLog}{\param{wxLogLevel }{ level}, \param{const char * }{ message}}
@ -172,7 +183,11 @@ previous active log target (may be NULL).
\func{static void}{DontCreateOnDemand}{\void}
Instructs wxLog to not create new log targets on the fly if there is none
currently. (Almost) for internal use only.
currently. (Almost) for internal use only: it is supposed to be called by the
application shutdown code.
Note that this function also calls
\helpref{ClearTraceMasks}{wxlogcleartracemasks}.
\membersection{wxLog::Flush}\label{wxlogflush}

View File

@ -161,7 +161,7 @@ public:
void SetVerbose(bool bVerbose = TRUE) { m_bVerbose = bVerbose; }
// should GetActiveTarget() try to create a new log object if the
// current is NULL?
static void DontCreateOnDemand() { ms_bAutoCreate = FALSE; }
static void DontCreateOnDemand();
// trace mask (see wxTraceXXX constants for details)
static void SetTraceMask(wxTraceMask ulMask) { ms_ulTraceMask = ulMask; }
@ -169,6 +169,8 @@ public:
static void AddTraceMask(const wxString& str) { ms_aTraceMasks.Add(str); }
// add string trace mask
static void RemoveTraceMask(const wxString& str);
// remove all string trace masks
static void ClearTraceMasks();
// sets the timestamp string: this is used as strftime() format string
// for the log targets which add time stamps to the messages - set it

View File

@ -323,6 +323,16 @@ wxLog *wxLog::SetActiveTarget(wxLog *pLogger)
return pOldLogger;
}
void wxLog::DontCreateOnDemand()
{
ms_bAutoCreate = FALSE;
// this is usually called at the end of the program and we assume that it
// is *always* called at the end - so we free memory here to avoid false
// memory leak reports from wxWin memory tracking code
ClearTraceMasks();
}
void wxLog::RemoveTraceMask(const wxString& str)
{
int index = ms_aTraceMasks.Index(str);
@ -330,6 +340,11 @@ void wxLog::RemoveTraceMask(const wxString& str)
ms_aTraceMasks.Remove((size_t)index);
}
void wxLog::ClearTraceMasks()
{
ms_aTraceMasks.Clear();
}
void wxLog::TimeStamp(wxString *str)
{
if ( ms_timestamp )