update logger functions
handle undefined qs