CreateLogger can be overridden with a delegate