make logging async