Для настройки отправки только лога последнего выполнения в Laravel по email при использовании функции appendOutputTo, можно воспользоваться методом `Mail::raw()` для отправки письма с содержимым файла лога.
Пример реализации:
```php
use Illuminate\Support\Facades\Mail;
$file = storage_path('logs/laravel.log');
Mail::raw(file_get_contents($file), function($message) {
$message->to('[email protected]')->subject('Log of last execution');
});
unlink($file);
```
Для настройки планировщика в Laravel для записи всех запусков в один файл с помощью `appendOutputTo` и отправки только полного лога последнего запуска в случае ошибки, можно создать два разных записчика логов (например, `schedule.log` и `error.log`) и отправлять содержимое последнего лога при возникновении ошибки.
Пример реализации:
```php
$schedule->command('your:command')
->appendOutputTo(storage_path('logs/schedule.log'))
->sendOutputTo(storage_path('logs/error.log'))
->onFailure(function () {
$file = storage_path('logs/error.log');
Mail::raw(file_get_contents($file), function($message) {
$message->to('[email protected]')->subject('Error log of last execution');
});
unlink($file);
});
```
Таким образом, при возникновении ошибки, содержимое файла `error.log` будет отправлено на нужный адрес по электронной почте.