Hmm. Your use of the writeLog() method is formatted correctly, to the problem is likely in your writeLog() implementation.
Try getting the code in Listing 4.4 working. In other words, see if the call to:
writeMessage( "Hello World! Here is an integer: %d! Here is a string: %s!", 7, "7" );
works. If so, the see if your implementation of writeLog() does something different.
If both of those fail, you can send your writeLog() implementation to the imgd3000-staff@cs list and we can take a look.