Posted on: September 05, 2025 10:00 AM
Posted by: Renato
Views: 51
📌 Solução em 5 Minutos para Visualizar Logs no Laravel
Olá pessoal! Já faz algum tempo desde minha última publicação sobre Laravel, então resolvi escrever algo rápido para voltar ao ritmo. A ideia é trazer pequenas soluções práticas que podem facilitar muito o nosso dia a dia como desenvolvedores.
Todos nós já passamos por isso: sua aplicação Laravel não está funcionando como deveria e você precisa verificar os logs o mais rápido possível. O problema é que, na maioria das vezes, não temos acesso fácil a esses arquivos. Normalmente é necessário abrir um cliente SSH, conectar ao servidor, navegar até a pasta de logs e só então abrir o arquivo para ver a última entrada. Um processo nada prático.
Foi pensando nisso que implementei uma solução simples em um projeto recente: visualizar os logs diretamente dentro da própria aplicação. E acredite, em menos de 5 minutos você pode colocar isso para funcionar.
Uma forma simples de ver os logs da sua aplicação sem SSH, direto pela própria interface.
🔎 Como funciona?
A solução é bem direta:
- Criamos uma rota que aponta para um controlador responsável por buscar o log do dia.
- O controller lê o arquivo de log correspondente e passa os dados para a view.
- A view tem duas partes:
- Um formulário que permite mudar a data do arquivo de log que você deseja visualizar.
- Um espaço onde o conteúdo do log é exibido.
🚦 Implementação
1. Definindo a rota
No arquivo routes/web.php, adicionamos a seguinte rota:
Route::get('/logs', 'LogsController@show')->name('logs');
2. Criando o Controller
No app/Http/Controllers/LogsController.php, adicionamos a lógica de leitura do log:
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\File;
use Carbon\Carbon;
class LogsController extends Controller
{
public function show(Request $request)
{
$date = new Carbon($request->get('date', today()));
$filePath = storage_path("logs/laravel-{$date->format('Y-m-d')}.log");
$data = [];
if (File::exists($filePath)) {
$data = [
'lastModified' => new Carbon(File::lastModified($filePath)),
'size' => File::size($filePath),
'file' => File::get($filePath),
];
}
return view('logs', compact('date', 'data'));
}
}
3. Criando a View
No arquivo resources/views/logs.blade.php, podemos montar a interface:
<form action="{{ route('logs') }}">
<input type="date" name="date" value="{{ $date ? $date->format('Y-m-d') : today()->format('Y-m-d') }}">
<button type="submit">Buscar</button>
</form>
<hr>
@if(empty($data['file']))
<div>
<h3>Nenhum log encontrado</h3>
</div>
@else
<div>
<h5>Última atualização: <b>{{ $data['lastModified']->format('Y-m-d H:i') }}</b></h5>
<h5>Tamanho do arquivo: <b>{{ round($data['size'] / 1024) }} KB</b></h5>
<pre>{{ $data['file'] }}</pre>
</div>
@endif
🎉 Resultado
Com esse pequeno código, você terá seu próprio visualizador de logs dentro da aplicação Laravel. É claro que você pode estilizar melhor com CSS ou até implementar paginação, mas para algo rápido já resolve — e muito!
✅ Conclusão
Essa solução simples pode economizar um bom tempo quando precisamos verificar rapidamente o que está acontecendo em produção sem depender de SSH ou de outros acessos complicados.
Se você já utiliza algo parecido ou conhece uma solução ainda melhor, compartilhe! Estou sempre aberto a aprender novas formas de simplificar o trabalho com Laravel.
Fontes:
https://simplestweb.in/blog/5-minute-solution-for-viewing-laravel-logs
Recursos relacionados:
Donate to Site
Renato
Developer