Consider this scenario. I have some business logic that now and then will be required to write to a log.
interface ILogger { void Log(string stuff); } inte
I'd recommend neither of these approaches. Better to use aspect-oriented programming. Logging is the "hello world" of AOP.