Thanks for the comments. Most of the current "spew" (actually, it's mostly just one statement but it happens with every run of the background process) will be moved to debug level (there's another 'dwrite' for setting this). I could then tell users when trying to diagnose a bug to turn debugging on. Errors would still get logged to Console.

Also, some spew is outside my control. If the background process crashes/terminates abnormally for any reason, launchd goes nuts with the messages. It basically remembers that it crashed and will remind you on every single run. Talk about holding a grudge. This problem will be moot as I'm going to be replacing launchd with a homegrown solution. You can read more about it in my comment at http://www.red-sweater.com/blog/245/taming-launchd