A Python logging handler that uploads logs to Amazon S3
Project description
S3 Log Handler
A Python logging handler that asynchronously uploads logs to Amazon S3 in batches.
Features
- Asynchronous upload to S3 using aioboto3
- Batching of log messages for efficient uploading
- Automatic compression of logs using gzip
- Configurable batch size and flush intervals
- Thread-safe operation
- Graceful shutdown handling with proper cleanup
Installation
pip install s3-log-handler
Usage
import logging
from s3_log_handler import S3LogHandler
# Configure AWS credentials
client_params = {
"aws_access_key_id": "your_access_key",
"aws_secret_access_key": "your_secret_key",
"region_name": "your_region"
}
# Create and configure the handler
handler = S3LogHandler(
client_params=client_params,
bucket_name="your-bucket-name",
log_prefix="application-logs",
batch_size=100,
flush_interval=300
)
# Add handler to logger
logger = logging.getLogger()
logger.addHandler(handler)
# Log messages will now be uploaded to S3
logger.info("Hello, S3!")
Configuration
client_params
: Dictionary of AWS client parametersbucket_name
: Name of the S3 bucketlog_prefix
: Prefix for S3 keys (default: "application-logs")batch_size
: Number of logs to batch before upload (default: 100)flush_interval
: Maximum seconds between uploads (default: 300)
License
MIT License - see LICENSE file for details
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
s3_log_handler-0.1.2.tar.gz
(5.2 kB
view details)
Built Distribution
File details
Details for the file s3_log_handler-0.1.2.tar.gz
.
File metadata
- Download URL: s3_log_handler-0.1.2.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dba9319e3109b4b963bb27142d8bac2c5e2d2d643e6dfa04f17e3ab9fbfc03e1 |
|
MD5 | 7dd19b70673afe35c2ed921032f2ee27 |
|
BLAKE2b-256 | 61deaab748ffeca55ad79df35c33cdce96374e30234e780c1a5ac3e0d1435ed7 |
File details
Details for the file s3_log_handler-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: s3_log_handler-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.6 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47fa9b21421ada103ebc32da8794d0de9cf387a33528aa8d442293ca0200f4d1 |
|
MD5 | 0e4ebbfb358753f0f1b137353ea48725 |
|
BLAKE2b-256 | 78966cfe211ef09b0906ab397eb6dc85395d34d7ae7872d5245deb7cbcab6fbd |