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.
several minutes, allows you to do anything you want).
The verbose messages are the trace messages which are not disabled in the
-release mode and are generated by \helpref{wxLogVerbose}{wxlogverbose}. They are not normally
-shown to the user because they present little interest, but may be activated,
-for example, in order to help the user find some program problem.
+release mode and are generated by \helpref{wxLogVerbose}{wxlogverbose}. They
+are not normally shown to the user because they present little interest, but
+may be activated, for example, in order to help the user find some program
+problem.
As for the (real) trace messages, their handling depends on the settings of
the (application global) {\it trace mask}. There are two ways to specify it:
-either by using helpref{SetTraceMask}{wxlogsettracemask} and
+either by using \helpref{SetTraceMask}{wxlogsettracemask} and
\helpref{GetTraceMask}{wxloggettracemask} and using
\helpref{wxLogTrace}{wxlogtrace} which takes an integer mask or by using
\helpref{AddTraceMask}{wxlogaddtracemask} for string trace masks.
mask had been added before to the list of allowed ones.
For example,
+
\begin{verbatim}
// wxTraceOleCalls is one of standard bit masks
wxLogTrace(wxTraceRefCount | wxTraceOleCalls, "Active object ref count: %d", nRef);
\end{verbatim}
will do something only if the current trace mask contains both
{\tt wxTraceRefCount} and {\tt wxTraceOle}, but
+
\begin{verbatim}
// wxTRACE_OleCalls is one of standard string masks
-wxLogTrace(wxTACE_OleCalls, "IFoo::Bar() called");
+wxLogTrace(wxTRACE_OleCalls, "IFoo::Bar() called");
\end{verbatim}
+
will log the message if it was preceded by
+
\begin{verbatim}
wxLog::AddTraceMask(wxTRACE_OleCalls);
\end{verbatim}
\helpref{AddTraceMask}{wxlogaddtracemask}\\
\helpref{RemoveTraceMask}{wxlogremovetracemask}\\
+\helpref{ClearTraceMasks}{wxlogcleartracemasks}\\
\helpref{IsAllowedTraceMask}{wxlogisallowedtracemask}\\
\helpref{SetVerbose}{wxlogsetverbose}\\
\helpref{GetVerbose}{wxloggetverbose}\\
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}}
\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}