for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Spatie\HttpLogger;
use Illuminate\Http\Request;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Symfony\Component\HttpFoundation\File\UploadedFile;
class DefaultLogWriter implements LogWriter
{
public function logRequest(Request $request)
$method = strtoupper($request->getMethod());
$uri = $request->getPathInfo();
$bodyAsJson = json_encode($request->except(config('http-logger.except')));
$files = (new Collection(iterator_to_array($request->files)))
->map([$this, 'flatFiles'])
->flatten()
->implode(',')
;
$message = "{$method} {$uri} - Body: {$bodyAsJson} - Files: ". $files;
Log::info($message);
}
public function flatFiles($file)
if ($file instanceof UploadedFile) {
return $file->getClientOriginalName();
if (is_array($file)) {
return array_map([$this, 'flatFiles'], $file);
return (string) $file;