Enabled user to specify own log function