Log Batch | laravel-activitylog | Spatie

 SPATIE

  Laravel Activity Log
=======================

spatie.be/open-source

  [Docs](https://spatie.be/docs)  [Laravel-activitylog](https://spatie.be/docs/laravel-activitylog/v4)  Api  Log Batch

 Version   v5   v4   v3   v2   v1

 Other versions for crawler [v5](https://spatie.be/docs/laravel-activitylog/v5) [v4](https://spatie.be/docs/laravel-activitylog/v4) [v3](https://spatie.be/docs/laravel-activitylog/v3) [v2](https://spatie.be/docs/laravel-activitylog/v2) [v1](https://spatie.be/docs/laravel-activitylog/v1)

- [ Introduction ](https://spatie.be/docs/laravel-activitylog/v4/introduction)
- [ Support us ](https://spatie.be/docs/laravel-activitylog/v4/support-us)
- [ Requirements ](https://spatie.be/docs/laravel-activitylog/v4/requirements)
- [ Installation and Setup ](https://spatie.be/docs/laravel-activitylog/v4/installation-and-setup)
- [ Questions and issues ](https://spatie.be/docs/laravel-activitylog/v4/questions-and-issues)
- [ Changelog ](https://spatie.be/docs/laravel-activitylog/v4/changelog)
- [ Upgrading ](https://spatie.be/docs/laravel-activitylog/v4/upgrading)
- [ About us ](https://spatie.be/docs/laravel-activitylog/v4/about-us)

Basic usage
-----------

- [ Logging activity ](https://spatie.be/docs/laravel-activitylog/v4/basic-usage/logging-activity)
- [ Cleaning up the log ](https://spatie.be/docs/laravel-activitylog/v4/basic-usage/cleaning-up-the-log)

Advanced usage
--------------

- [ Logging model events ](https://spatie.be/docs/laravel-activitylog/v4/advanced-usage/logging-model-events)
- [ Manipulate changes array ](https://spatie.be/docs/laravel-activitylog/v4/advanced-usage/manipulate-changes-array)
- [ Batch Logs ](https://spatie.be/docs/laravel-activitylog/v4/advanced-usage/batch-logs)
- [ Define causer for runtime ](https://spatie.be/docs/laravel-activitylog/v4/advanced-usage/define-causer-for-runtime)
- [ Using placeholders ](https://spatie.be/docs/laravel-activitylog/v4/advanced-usage/using-placeholders)
- [ Using multiple logs ](https://spatie.be/docs/laravel-activitylog/v4/advanced-usage/using-multiple-logs)
- [ Disabling logging ](https://spatie.be/docs/laravel-activitylog/v4/advanced-usage/disabling-logging)

API
---

- [ Log Options ](https://spatie.be/docs/laravel-activitylog/v4/api/log-options)
- [ Log Batch ](https://spatie.be/docs/laravel-activitylog/v4/api/log-batch)
- [ Causer Resolver ](https://spatie.be/docs/laravel-activitylog/v4/api/causer-resolver)
- [ Event Bag ](https://spatie.be/docs/laravel-activitylog/v4/api/event-bag)

      You are viewing the documentation for **an older version** of this package. You can check the version you are using with the following command:

 `                                    composer show spatie/laravel-activitylog                                                                                                                                                                                                                                    `

Log Batch
=========

###  On this page

1. [ startBatch ](#content-startbatch)
2. [ isOpen ](#content-isopen)
3. [ setBatch ](#content-setbatch)
4. [ endBatch ](#content-endbatch)
5. [ withinBatch ](#content-withinbatch)

This class is registered as singleton and allows you to batch activities. Once captured as a batch these activities can be pulled back up as a group.

```
LogBatch::startBatch();

LogBatch::getUuid(); // 15c72460-4998-49ac-a0a3-647cc6f312ef

$log = activity()->log('log look mom, I did something...');
$author = Author::first();
$author->delete(); // deletes books too

Activity::latest()->get();
// Author Deleted,  batch_uuid: 15c72460-4998-49ac-a0a3-647cc6f312ef
// Book 1 Deleted,  batch_uuid: 15c72460-4998-49ac-a0a3-647cc6f312ef
// Book 2 Deleted,  batch_uuid: 15c72460-4998-49ac-a0a3-647cc6f312ef
// log look mom, I did something..., batch_uuid: 15c72460-4998-49ac-a0a3-647cc6f312ef
$log->batch_uuid; // 15c72460-4998-49ac-a0a3-647cc6f312ef

LogBatch::endBatch();
```

startBatch
--------------------------------------------------------------------------------------

```
public function startBatch(): void;
```

isOpen
--------------------------------------------------------------------------

```
/**
 * Check if there's an open batch
 */
public function isOpen(): bool;
```

setBatch
--------------------------------------------------------------------------------

```
/**
 * Set uuid for the current open batch, it can be used to keep the batch
 * open throughout multiple requests or in a batch queue job.
 */
public function setBatch(string $uuid): void;
```

endBatch
--------------------------------------------------------------------------------

```
 public function endBatch(): void;
```

withinBatch
-----------------------------------------------------------------------------------------

```
/**
 * Start new batch, execute the callback passed in uuid, end the batch.
 */
 public function withinBatch(Closure $callback): mixed;
```
