There are 10 message types and they are described in the table below.

Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390 Message type Abbreviation #define constant MeaningWidth1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390 Verbose VERBOSE _PB_VERBOSE* Basic logging of clutter. Dumping function args, vars, etc.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Informational INFO _PB_INFO* Basic logging of events.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Status STATUS _PB_STATUS Basic logging of significant events.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Warning WARNING _PB_WARNING User or system errors(?), bad function return codes(?), etc.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Error ERROR _PB_ERROR User or system errors, bad function return codes, etc.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Bug BUG _PB_BUG Actual bugs. Invalid parms, out of bound array indices, etc.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Regression test REGTEST _PB_REGTEST Used specifically and solely for before/after regression testing.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Comment COMMENT _PB_COMMENT Used internally and by PBLog.exe to insert user comments.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Internal INTERNAL _PB_INTERNAL Internal message from Paul Bunyan. Out of memory, sem failed, etc.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
User defined USER _PB_USER** Used to create custom user messages.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390
Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390 Invalid INVALID _PB_INVALID Messages with invalid message types are converted to this type.Width1Width3Width1728 Width3Width1440 Width3Width1800 Width3Width6390

*Messages of type VERBOSE and INFO are by default prefiltered out by the C++ classes in builds where PB_DEBUG_LEVEL is set to 1. This is governed by the PB_DEFAULT_EXCLUDE macro and is overridable.

**User messages have the lower 16 bits zero and the upper 16 bits non-zero. User messages are displayed in the viewer as ‘Unnn’, passed to message handlers in whole, and defined in the following manner:

#define _MY_USR_MSG1 0x00010000
#define _MY_USR_MSG2 PB_USER(0x2)