better *log action