enhance Log function