How spatie/laravel-activitylog works
Laravel Activitylog records user-initiated entries and automatically captures configured Eloquent model events, then stores activities in the activity_log table for retrieval. The main flow runs from the package’s fluent logging entry point through activity construction and persistence; a separate model-event branch detects changes and submits logs. The package also resolves causers, supports buffering and configurable log options, and provides log cleanup. Edges are limited to README statements and relationships visible in the supplied source index or excerpts; cleanup-command dispatch is not shown.
Main entry points: ActivityLogger.php Activity logger · LogsActivity.php Model logging traits · LogActivityAction.php Log action · Activity.php Activity model
Components 19
Logging entry
- Activity facade
src/Facades/Activity.php - Pending log
src/Support/PendingActivityLog.php
Event capture
- Activity events
src/Enums/ActivityEvent.php - Model logging traits
src/Models/Concerns/LogsActivity.php - Change detector
src/Support/ChangeDetector.php
Logging runtime
- Activity logger
src/Support/ActivityLogger.php - Causer resolver
src/Support/CauserResolver.php - Logging status
src/Support/ActivityLogStatus.php - Log options
src/Support/LogOptions.php - Log action
src/Actions/LogActivityAction.php - Activity buffer
src/Support/ActivityBuffer.php - Config resolver
src/Support/Config.php - Service provider
src/ActivitylogServiceProvider.php
Persistence and cleanup
- Activity model
src/Models/Activity.php - Activity contract
src/Contracts/Activity.php - Cleanup command
src/Commands/CleanActivitylogCommand.php - Cleanup action
src/Actions/CleanActivityLogAction.php - Activity log table
database/migrations/create_activity_log_table.php.stub
Other components
- Laravel app
Connections 20
- Laravel app → Activity facade: starts logging
README.md - Activity facade → Pending log: creates pending log
src/Facades/Activity.php - Pending log → Activity logger: forwards calls
src/Support/PendingActivityLog.php - Activity logger → Causer resolver: resolves causer
src/Support/ActivityLogger.php - Activity logger → Logging status: checks status
src/Support/ActivityLogger.php - Activity logger → Config resolver: gets logging action
src/Support/ActivityLogger.php - Config resolver → Log action: resolves action
src/Support/Config.php - Log action → Activity buffer: buffers activity
src/Actions/LogActivityAction.php - Log action → Activity model: saves activity
README.md - Activity model → Activity log table: stores activities
README.md - Activity model → Activity contract: implements
src/Models/Activity.php - Laravel app → Model logging traits: updates model
README.md - Model logging traits → Activity logger: submits event log
src/Models/Concerns/LogsActivity.php - Model logging traits → Activity events: selects event types
src/Models/Concerns/LogsActivity.php - Model logging traits → Change detector: filters changes
src/Models/Concerns/LogsActivity.php - Model logging traits → Log options: uses logging options
src/Models/Concerns/LogsActivity.php - Service provider → Activity logger: binds service
src/ActivitylogServiceProvider.php - Service provider → Activity buffer: registers flushing
src/ActivitylogServiceProvider.php - Cleanup command → Cleanup action: dispatches cleanup
- Cleanup action → Config resolver: reads config
src/Actions/CleanActivityLogAction.php