-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Renato Byrro edited this page Feb 16, 2021
·
21 revisions
Welcome to the Async HTTP Logging documentation.
- Basic usage instructions
- Handler Class
- HTTP Transport Class
- Formatter Class
- Local caching with SQLite
- Anatomy of POST requests sent to the HTTP host
- Adding custom HTTP headers to requests
- Logging extra fields
- Configuration Constants and Environment Variables
Async HTTP Logging is almost entirely based on the Python LogStash Async library.
Async HTTP Logging consists basically of three Classes (Handler, HTTP Transport, Formatter) that wrap over the ones in Python LogStash Async.
We liked the approach used in Python LogStash Async, namely:
- Keeping log messages in a local cache using a SQLite database
- Sending log messages in batches
- Controlling time-to-live and timeout settings
- Customizing log messages, taking extra fields from logging methods and enriching with LogRecord attributes
Although it's a great service, we didn't enjoy being limited to Elastic LogStash. Async HTTP Logging is a transformation to a library agnostic to backend stack. To use it, you only need an HTTP API that accepts POST requests configured at your desired hostname.