azeemade/db-logs

A Laravel package to log request and response information in a database.

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/azeemade/db-logs

0.0.1 2025-12-28 21:18 UTC

This package is auto-updated.

Last update: 2026-02-17 17:51:24 UTC


README

A powerful, secure, and flexible logging package for Laravel that captures both inbound (user requests) and outbound (HTTP client) traffic. Designed for applications that need rigorous audit trails, debugging of third-party integrations, and request/response monitoring.

Key Features

  • Inbound Traffic Logging: Automatically log incoming user requests, including headers, bodies, IP, User ID, and Session ID.
  • Outbound Traffic Logging: Capture all HTTP Client requests (Http::get, Http::post, etc.) automatically.
  • Trigger Context: For outbound requests, see exactly what user input (payload) triggered the API call.
  • Smart Error Capture: Automatically prioritizes error logs. Captures full stack traces and error messages for exceptions.
  • Security First:
    • Configurable encryption for sensitive fields (e.g., password, ssn, pin).
    • Secure Dashboard with on-demand decryption.
    • API Endpoint protected by a mutable passkey.
  • Dashboard: A clean, responsive UI (similar to Horizon) to browse, filter, and inspect logs.
  • Configurable Pruning: Automatically clean up old logs to keep your database healthy.

Basic Examples

1. Inbound Logging

Just install the package, and it starts working. By default, it logs errors only (status >= 400) to keep noise low, but you can configure it to log everything.

2. Outbound Logging

When you make a request using Laravel's HTTP Client:

Http::post('https://third-party-api.com/v1/charge', [
    'amount' => 100,
    'card_number' => '4242424242424242' // This will be encrypted in logs!
]);

The package logs the request URL, headers, body, response status, and body.

3. API Access

Retrieve logs programmatically using the secure API endpoint:

curl -X POST https://your-app.com/db-logs/api/logs \
     -d "limit=10" \
     -d "passkey=YOUR_SECURE_KEY"

Documentation

For full installation and configuration instructions, please read SETUP.md.