Skip to main content

FastAPI MongoDB logging package for endpoints and general logging

Project description

FastAPI MongoDB Logger

A comprehensive logging package for FastAPI applications that stores endpoint logs and custom events in MongoDB.

Installation

pip install fastapi-mongo-logger-mateoramos

Quick Start

1. Basic Setup

from fastapi import FastAPI
from fastapi_mongo_logger import MongoLogger, LoggingMiddleware

app = FastAPI()

# Initialize logger
logger = MongoLogger(
    mongo_url="mongodb://localhost:27017",
    database_name="my_app_logs",
    collection_name="api_logs"
)

# Add middleware for automatic endpoint logging
app.add_middleware(LoggingMiddleware, logger=logger)

@app.get("/")
async def root():
    return {"message": "Hello World"}

2. Manual Logging with Decorators

from fastapi_mongo_logger import log_endpoint, log_function

@log_endpoint(logger, user_type="admin")
async def admin_function():
    # Your code here
    pass

@log_function(logger, event_type="data_processing")
def process_data():
    # Your code here
    pass

3. Custom Logging

# Log custom events anywhere in your code
await logger.log_custom("user_action", {
    "user_id": "123",
    "action": "login",
    "ip_address": "192.168.1.1"
})

Features

  • Automatic endpoint logging via middleware
  • Manual logging with decorators
  • Custom event logging for any part of your application
  • Comprehensive data capture: request/response bodies, headers, timing, errors
  • Async/sync function support
  • Flexible data storage in MongoDB

Configuration Options

  • log_request_body: Enable/disable request body logging (default: True)
  • log_response_body: Enable/disable response body logging (default: False)
  • Custom fields can be added to any log entry

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

fastapi_mongo_logger_mateoramos-1.0.2.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file fastapi_mongo_logger_mateoramos-1.0.2.tar.gz.

File metadata

File hashes

Hashes for fastapi_mongo_logger_mateoramos-1.0.2.tar.gz
Algorithm Hash digest
SHA256 56c44109598b249677bbc728fc56eb7d1d078f72bccbf829a68695932c74f475
MD5 23a2bd578d58060ee3d4c179f188a1fa
BLAKE2b-256 c872cec4ad281e424b649357ba85fdc33885c012ddfb521d7c33024df5aa6a13

See more details on using hashes here.

File details

Details for the file fastapi_mongo_logger_mateoramos-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for fastapi_mongo_logger_mateoramos-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d9a04e9845424a25fdc3940e3f0d595aa53b14ad5c4163803dd7eff6bf205c51
MD5 0928d6021fd5201cea1d24d5763eaf10
BLAKE2b-256 002c85b8da9fcffc916eb93a1b3c8f2091eb86947c02fd9c3afa15b16dfa25e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page