Class: Smartsheet::API::RequestLogger
- Inherits:
-
Object
- Object
- Smartsheet::API::RequestLogger
- Defined in:
- lib/smartsheet/api/request_logger.rb
Overview
Logs request and response information, while censoring OAuth-relevant keys
Constant Summary collapse
- QUERY_PARAM_CENSOR =
Censor.new 'code', 'client_id', 'hash', 'refresh_token'
- HEADER_CENSOR =
Censor.new 'authorization'
- PAYLOAD_CENSOR =
Censor.new 'access_token', 'refresh_token'
- TRUNCATED_BODY_LENGTH =
1024
Instance Method Summary collapse
-
#initialize(logger, log_full_body:) ⇒ RequestLogger
constructor
A new instance of RequestLogger.
- #log_api_error_response(request, error) ⇒ Object
- #log_http_error_response(request, error) ⇒ Object
- #log_request(request) ⇒ Object
- #log_retry_attempt(request, response, attempt_num) ⇒ Object
- #log_retry_failure(num_tries) ⇒ Object
- #log_successful_response(response) ⇒ Object
Constructor Details
#initialize(logger, log_full_body:) ⇒ RequestLogger
Returns a new instance of RequestLogger.
57 58 59 60 |
# File 'lib/smartsheet/api/request_logger.rb', line 57 def initialize(logger, log_full_body:) @logger = logger @log_full_body = log_full_body end |
Instance Method Details
#log_api_error_response(request, error) ⇒ Object
85 86 87 88 |
# File 'lib/smartsheet/api/request_logger.rb', line 85 def log_api_error_response(request, error) log_request_basics(Logger::ERROR, request) log_api_error(Logger::ERROR, error) end |
#log_http_error_response(request, error) ⇒ Object
90 91 92 93 |
# File 'lib/smartsheet/api/request_logger.rb', line 90 def log_http_error_response(request, error) log_request_basics(Logger::ERROR, request) log_http_error(Logger::ERROR, error) end |
#log_request(request) ⇒ Object
62 63 64 65 66 |
# File 'lib/smartsheet/api/request_logger.rb', line 62 def log_request(request) log_request_basics(Logger::INFO, request) log_headers('Request', request) log_body('Request', request.body) end |
#log_retry_attempt(request, response, attempt_num) ⇒ Object
68 69 70 71 72 |
# File 'lib/smartsheet/api/request_logger.rb', line 68 def log_retry_attempt(request, response, attempt_num) logger.warn { "Request attempt #{attempt_num} failed" } log_request_basics(Logger::WARN, request) log_api_error(Logger::WARN, response) end |
#log_retry_failure(num_tries) ⇒ Object
74 75 76 77 |
# File 'lib/smartsheet/api/request_logger.rb', line 74 def log_retry_failure(num_tries) try_word = num_tries == 1 ? 'try' : 'tries' logger.error { "Request failed after #{num_tries} #{try_word}" } end |
#log_successful_response(response) ⇒ Object
79 80 81 82 83 |
# File 'lib/smartsheet/api/request_logger.rb', line 79 def log_successful_response(response) log_status(Logger::INFO, response) log_headers('Response', response) log_body('Response', response.result) end |