better log api