log event handler changed to smart pointer
finished smart pointer log event handler