I have some good news and some bad news. The bad news is that traditionally, some of the most convoluted code in Gazelle deals with logging...