Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Devlogger Laravel Package

onamfc/laravel-devlogger

Laravel DevLogger stores application logs in the database with automatic exception catching, tagging, queue and request/user context, advanced filtering, and configurable retention cleanup. Easily configurable via environment variables.

View on GitHub
Deep Wiki
Context7
v1.1.11

Fixed

devlogger:cleanup --days had no effect on what was deleted.

The command read the option, printed it, and counted the dry run against it — then called DevLogger::cleanup() with no arguments, and cleanup() re-read devlogger.retention_days for itself. The option changed the output and nothing else. It is now passed through, alongside a new --chunk.

Cleanup did not actually remove anything.

cleanup() deleted through the model, and DeveloperLog applies SoftDeletes — so it only stamped deleted_at. Expired logs stayed in the table, kept occupying disk, and were re-stamped on every subsequent run. Deletion now goes through the query builder, which also clears rows the old behaviour stamped and abandoned.

Verified on an in-memory database — 80 rows, retention 30, cleanup(10):

old fixed
reported deleted 29 65
rows remaining 80 15
left soft-deleted 40 0

Changed

Deletion is chunked (1000 rows per statement, --chunk to override). A table that has gone unattended is exactly the case that breaks a single unbounded DELETE — it builds a transaction large enough to time out and roll the whole thing back. Each chunk now commits on its own, so an interrupted run keeps what it removed.

Added

cleanupCandidates(?int $days = null) — the count a cleanup would remove, soft-deleted rows included, so --dry-run agrees with a real run.

Upgrading

If you have been running devlogger:cleanup, your table likely holds a backlog of soft-deleted rows that were never removed. The first run on this version clears them, so expect it to delete far more than usual. DELETE does not return disk to the OS — follow with OPTIMIZE TABLE developer_logs to reclaim it.

v1.1.9

This release focuses on improving the installation and setup experience for the Laravel DevLogger package, specifically addressing issues with publishing configuration and migrations.

v1.1.8

Fix incorrect path resolution for Packagist installs

v1.1.7

Bump version for packagist

v1.1.6

Update the path reference to the config and migration files

v1.1.5

Resolved PHP 8.3 deprecation warning: Updated method signature of markAsClosed() in DeveloperLog model to explicitly declare $userId as a nullable integer (?int $userId = null). This change prevents the deprecation notice: "Implicitly marking parameter $userId as nullable is deprecated", which occurs in PHP 8.3 and later.

v1.1.4

Update readme file for Laravel 12 support

v1.1.3

The fix uses conditional logic to handle both cases:

  • When a specific connection is configured, it uses Schema::connection($connection)
  • When no connection is specified (null), it uses Schema directly

This approach avoids trying to assign the facade to a variable, which isn't supported in PHP, and ensures compatibility with Laravel 12's stricter requirements.

v1.1.2

Addresses the issue with Laravel 12 has chaning the Schema::connection() method to require a connection name parameter, whereas in previous versions it could be called without arguments to use the default connection.

v1.1.1

bump version to sync with packagist

v1.1.0
  • PHP Version: Updated minimum PHP requirement to 8.2 (Laravel 12's requirement)
  • Illuminate Dependencies: Added ^12.0 to all Laravel package constraints
  • Model Accessors: Updated to use Laravel's new Attribute class instead of the deprecated get{Attribute}Attribute() pattern
  • Request Facade: Replaced Request:: facade calls with request() helper for better compatibility
  • Schema Connection Handling: Improved null connection handling in migrations
  • Testing Dependencies: Updated Orchestra Testbench and PHPUnit versions

The updated package will still work with Laravel 9, 10, and 11 while being ready for Laravel 12. The changes use patterns that are available across all supported versions.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table