Before
using
the logbook, you need to install it. Download the
logbook.msi
installation package and the header
file ComLogBook.h
from the O’Reilly web
site for this book at http://www.oreilly.com/catalog/comdotnetsvs
(the logbook source files and a Windows 2000 help file are also
available for download). Then install the msi
file.
After
installing the logbook application, all
you have to do on the side of the application doing the logging is
include the ComLogBook.h
header file in your
application. The ComLogBook.h
header file
defines four helper macros for logging, described in Table A-1. Insert these macros in your code. The macros
collect information on the application side and post it to the
logbook.
The macros can be used independently of one another and in every
possible combination. For example, to trace a method call into the
logbook, pass the method name as a string parameter to the
LOGMETHOD( )
macro:
void CMyClass::MyMethod( ) { LOGMETHOD("CMyClass::MyMethod"); //Real work starts here }
I recommend using LOGMETHOD( )
before doing
anything else in the method body. Along with the method name, the
macro logs all the required information mentioned earlier. Similarly,
you can use LOGEVENT( )
to log events and
LOGERROR( )
to log errors (see Example A-1).
Example A-1. Using the LOGERROR( ) and the LOGEVENT( ) macros
//Logging an error: void CMyClass::MyMethod( ) { LOGMETHOD("CMyClass::MyMethod"); //Real work starts here /* some code that encountered an error with a pointer */ LOGERROR(IID_MyInterface,E_POINTER,"CMyClass::MyMethod","The server returned an invalid address"); //Continue to run } //logging an event into the logbook: specify in free form text describing the event: void CMyClass::MyMethod( ) { LOGMETHOD("CMyClass::MyMethod"); //Real work starts here /* some code that decides to log an event */ LOGEVENT("The User is banging on the keyboard"); //Continue to run }