@extends('layouts.app') @section('title', 'Admin — Logs système') @section('page-title', 'Admin — Logs système') @push('styles') @endpush @section('content') @if(session('success'))
{{ session('success') }}
@endif {{-- Toolbar --}}
@if($level !== 'tous') @endif @if($search) ✕ Effacer @endif
Actualiser
@csrf
{{-- Stats --}}
{{ $counts['tous'] }} Total
@foreach(['ERROR'=>['#E53E3E','Erreurs'],'CRITICAL'=>['#9B2C2C','Critiques'],'EMERGENCY'=>['#742A2A','Urgences'],'WARNING'=>['#D69E2E','Warnings'],'NOTICE'=>['#805AD5','Notices'],'INFO'=>['#3182CE','Info'],'DEBUG'=>['#718096','Debug']] as $lvl=>[$color,$label]) @if(($counts[$lvl] ?? 0) > 0)
{{ $counts[$lvl] ?? 0 }} {{ $label }}
@endif @endforeach
{{-- Info fichier --}}
storage/logs/laravel.log • {{ $fileSize > 0 ? number_format($fileSize / 1024, 1) . ' Ko' : 'vide' }} @if($fileDate) • Modifié {{ \Carbon\Carbon::createFromTimestamp($fileDate)->diffForHumans() }} @endif @if(count($entries) > 0) • {{ count($entries) }} entrée(s) affichée(s){{ $counts['tous'] > 500 ? ' (500 max)' : '' }} @endif
{{-- Tabs filtre --}}
Tous {{ $counts['tous'] }} @foreach(['ERROR'=>'Erreurs','CRITICAL'=>'Critiques','EMERGENCY'=>'Urgences','WARNING'=>'Warnings','NOTICE'=>'Notices','INFO'=>'Info','DEBUG'=>'Debug'] as $lvl=>$lbl) @if(($counts[$lvl] ?? 0) > 0 || $level === strtolower($lvl)) {{ $lbl }} {{ $counts[$lvl] ?? 0 }} @endif @endforeach
{{-- Liste des logs --}} @if(empty($entries))
@if($search) Aucun résultat pour « {{ $search }} » @else Aucun log — le fichier est vide ou aucune erreur n'a été enregistrée. @endif
@else
@foreach($entries as $i => $entry) @php $lvlKey = strtolower($entry['level']); $hasTrace = trim($entry['trace']) !== ''; $msgDisplay = $search ? preg_replace('/(' . preg_quote($search, '/') . ')/i', '$1', e($entry['message'])) : e($entry['message']); @endphp
{{ $entry['level'] }} {{ $entry['datetime'] }} {!! $msgDisplay !!} {{ $entry['env'] }} @if($hasTrace) @endif
@if($hasTrace)
{{ trim($entry['trace']) }}
@endif
@endforeach
@endif @endsection @push('scripts') @endpush