// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
+
+/**
+ Different standard log levels (you may also define your own) used with
+ wxLog::OnLog() by standard wxLog functions wxLogError(), wxLogWarning(),
+ etc...
+*/
+enum wxLogLevelValues
+{
+ wxLOG_FatalError, //!< program can't continue, abort immediately
+ wxLOG_Error, //!< a serious error, user must be informed about it
+ wxLOG_Warning, //!< user is normally informed about it but may be ignored
+ wxLOG_Message, //!< normal message (i.e. normal output of a non GUI app)
+ wxLOG_Status, //!< informational: might go to the status line of GUI app
+ wxLOG_Info, //!< informational message (a.k.a. 'Verbose')
+ wxLOG_Debug, //!< never shown to the user, disabled in release mode
+ wxLOG_Trace, //!< trace messages are also only enabled in debug mode
+ wxLOG_Progress, //!< used for progress indicator (not yet)
+ wxLOG_User = 100, //!< user defined levels start here
+ wxLOG_Max = 10000
+};
+
+/**
+ The type used for trace masks.
+*/
+typedef unsigned long wxTraceMask;
+
+/**
+ The type used to specify a log level.
+
+ Default values of ::wxLogLevel used by wxWidgets are contained in the
+ ::wxLogLevelValues enumeration.
+*/
+typedef unsigned long wxLogLevel;
+
+
/**
@class wxLogWindow
class wxLogBuffer : public wxLog
{
public:
+ /**
+ The default ctor does nothing.
+ */
+ wxLogBuffer();
+
/**
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
/**
Returns the current timestamp format string.
*/
- static const wxString GetTimestamp();
+ static const wxString& GetTimestamp();
/**
Returns the current trace mask, see Customization() section for details.
@see AddTraceMask().
*/
- static const wxArrayString GetTraceMasks();
+ static const wxArrayString& GetTraceMasks();
/**
Returns whether the verbose mode is currently active.
Forwards the message at specified level to the @e DoLog() function of the
active log target if there is any, does nothing otherwise.
*/
- static void OnLog(wxLogLevel level, const wxString& message);
+ static void OnLog(wxLogLevel level, const wxString& szString, time_t t);
/**
Remove the @a mask from the list of allowed masks for
static wxLog* SetActiveTarget(wxLog* logtarget);
/**
- Specifies that log messages with level logLevel should be ignored
- and not sent to the active log target.
+ Specifies that log messages with level greater (numerically) than
+ @a logLevel should be ignored and not sent to the active log target.
*/
static void SetLogLevel(wxLogLevel logLevel);
// Global functions/macros
// ============================================================================
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
For all normal, informational messages. They also appear in a message box
void wxVLogMessage(const char* formatString, va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
For verbose output. Normally, it is suppressed, but might be activated if
void wxVLogVerbose(const char* formatString, va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
For warnings - they are also normally shown to the user, but don't
void wxVLogWarning(const char* formatString, va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
Like wxLogError(), but also terminates the program with the exit code 3.
void wxVLogFatalError(const char* formatString, va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
The functions to use for error messages, i.e. the messages that must be
void wxVLogError(const char* formatString, va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
Like wxLogDebug(), trace functions only do something in debug builds and
void wxVLogTrace(const char* formatString, va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
Like wxLogDebug(), trace functions only do something in debug builds and
va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
Like wxLogDebug(), trace functions only do something in debug builds and
function is that usually there are a lot of trace messages, so it might
make sense to separate them from other debug messages.
+ @deprecated
This version of wxLogTrace() only logs the message if all the bits
corresponding to the @a mask are set in the wxLog trace mask which can be
set by calling wxLog::SetTraceMask(). This version is less flexible than
void wxVLogTrace(wxTraceMask mask, const char* formatString, va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
The right functions for debug output. They only do something in debug mode
void wxVLogDebug(const char* formatString, va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
Messages logged by this function will appear in the statusbar of the
void wxVLogStatus(const char* formatString, va_list argPtr);
//@}
-/** @ingroup group_funcmacro_log */
+/** @addtogroup group_funcmacro_log */
//@{
/**
Mostly used by wxWidgets itself, but might be handy for logging errors