PHP code example of jooservices / laravel-logging
1. Go to this page and download the library: Download jooservices/laravel-logging library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
jooservices / laravel-logging example snippets
use JOOservices\LaravelLogging\Facades\ActivityLog;
ActivityLog::activity()
->action('provider.disabled')
->by($user)
->on($provider)
->save();
ActivityLog::audit()
->action('config.updated')
->by($user)
->on($config)
->changesFrom($before, $after)
->save();
ActivityLog::security()
->loginFailed($email)
->withRequest()
->save();
ActivityLog::system()
->commandStarted('crawler:run')
->context(['provider' => 'onejav'])
->save();
ActivityLog::domain()
->fromEvent($event)
->save();
ActivityLog::activity()
->action('crawler.item.imported')
->batchId($batchId)
->workflowId($workflowId)
->save();
ActivityLog::activity()->by('system');
// actor_type = system, actor_id = null
ActivityLog::activity()->onExternal('provider', 123);
// subject_type = provider, subject_id = 123
ActivityLog::activity()
->action('crawler.completed')
->bySystem()
->queue('logging')
->dispatch();
ActivityLog::register('crawler', CrawlerLogAdapter::class);
ActivityLog::crawler()
->action('crawler.completed')
->bySystem()
->properties(['items' => 120])
->save();
$records = ActivityLog::query()
->type('audit')
->action('config.updated')
->forSubject($config)
->byActor($user)
->correlationId($id)
->between($from, $to)
->latest()
->paginate();
$latest = ActivityLog::query()->forSubject($target)->action('job.completed')->latestRecord();
$previous = ActivityLog::query()->forSubject($target)->action('job.completed')->previousRecord();
$counts = ActivityLog::query()->since($from)->actionPrefix('http.')->countByAction();
'promoted_fields' => [
'site_id' => 'properties.site_id',
],
ActivityLog::activity()
->action('import.completed')
->tenantId($tenantId)
->properties(['site_id' => $siteId])
->save();
use JOOservices\LaravelLogging\ActivityLogOptions;
use JOOservices\LaravelLogging\Concerns\LogsActivity;
class Setting extends Model
{
use LogsActivity;
protected function activityLogOptions(): ActivityLogOptions
{
return ActivityLogOptions::make()
->logOnly(['name', 'value', 'enabled'])
->logOnlyDirty()
->dontSubmitEmptyLogs();
}
}
ActivityLog::domain()
->fromEvent($event)
->save();
'retention' => [
'enabled' => true,
'default_days' => 180,
'chunk_size' => 500,
'types' => [
'activity' => 90,
'audit' => 365,
'security' => 365,
'domain' => 90,
'system' => 30,
],
],
'export' => [
'chunk_size' => 500,
'formats' => ['jsonl', 'csv'],
],
'sanitization' => [
'enabled' => true,
'case_sensitive' => false,
'redacted_value' => '[redacted]',
'sensitive_keys' => ['password', 'token', 'authorization', 'cookie'],
'sensitive_patterns' => [],
],
'limits' => [
'enabled' => true,
'max_string_length' => 5000,
'max_array_items' => 200,
'max_depth' => 8,
'max_document_bytes' => 524288,
'truncate_marker' => '[truncated]',
],
bash
composer vendor:publish --tag=laravel-logging-config
php artisan activity-log:indexes
php artisan activity-log:doctor
bash
php artisan activity-log:doctor --json
php artisan activity-log:doctor --check-indexes
bash
php artisan activity-log:prune --dry-run
php artisan activity-log:prune --force
php artisan activity-log:prune --type=system --days=30 --force
php artisan activity-log:prune --type=audit --before=2026-01-01 --force
bash
php artisan activity-log:export --type=audit --from=2026-01-01 --format=jsonl --output=storage/app/audit.jsonl
php artisan activity-log:export --format=csv --output=storage/app/activity-logs.csv