logger has to be part of the public interface.
update for the logger API