https://github.com/railsware/http_logger
Log your http api calls just like SQL queries
https://github.com/railsware/http_logger
Last synced: about 2 months ago
JSON representation
Log your http api calls just like SQL queries
- Host: GitHub
- URL: https://github.com/railsware/http_logger
- Owner: railsware
- License: mit
- Created: 2011-05-07T19:08:38.000Z (about 14 years ago)
- Default Branch: master
- Last Pushed: 2025-02-26T16:08:28.000Z (5 months ago)
- Last Synced: 2025-03-31T21:44:59.808Z (3 months ago)
- Language: Ruby
- Homepage:
- Size: 291 KB
- Stars: 106
- Watchers: 48
- Forks: 22
- Open Issues: 1
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Net::HTTP logger
Simple gem that logs your HTTP api requests just like database queries
## Screenshot
* [Hoptoad](https://github.com/railsware/http_logger/raw/master/screenshots/hoptoad.png)
* [Simple get](https://github.com/railsware/http_logger/raw/master/screenshots/rails_console.png)
* [Solr](https://github.com/railsware/http_logger/raw/master/screenshots/solr.png)## Installation
``` sh
gem install http_logger
```## Usage
``` ruby
require 'http_logger'HttpLogger.configure do |c|
# defaults to Rails.logger if Rails is defined
c.logger = Logger.new(LOGFILE)# Default: true
c.colorize = true# Ignore patterns (e.g., URLs to ignore)
c.ignore = [/newrelic\.com/]# Default: false
c.log_headers = false# Default: true
c.log_request_body = false# Default: true
c.log_response_body = false# Desired log level as a symbol. Default: :debug
c.level = :info# Change default truncate limit. Default: 5000
c.collapse_body_limit = 5000
end
```## Alternative
Net::HTTP has a builtin logger that can be set via \#set\_debug\_output.
This method is only available at the instance level and it is not always accessible if used inside of a library. Also output of builtin debugger is not formed well for API debug purposes.## Integration
If you are using Net::HTTP#request hackers like FakeWeb make sure you require http\_logger after all others because http\_logger always calls "super", rather than others.