Instead of singletons especially for logging a form of IOC/Dependency injection may be appropriate to inject a reference to a logging class and remove the global it does come with a code understanding overhead though. I suppose the logical parallel to this IOC/DI container is the power box a small piece of trusted code. Regards. Ben