Those semicolons look dangerous, you can wrap them with `do {} while (0)`, or even better, call CLSLog from `-[FileLogger log:]`
http://stackoverflow.com/questions/154136/do-while-and-if-else-statements-in-c-c-macros