not sure if client error should be logged at `ERROR` level, but also not sure how to distinguish between client error and server error.