```ruby
begin
  sanford_logger
  # log received a request
  request = Request.new(Sanford::Protocol::Connection.new(client_socket).read(@timeout))
  handler_class = @service_host.get_handler_class(request.version, request.name)
  # log details
  response = Runner.new(handler_class, request).response
  connection.write(response)
rescue Exception => err
  @host.error(err)
ensure
  # log final
end
```