承接 ahinest/laravel-log-viewer 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ahinest/laravel-log-viewer

Composer 安装命令:

composer require ahinest/laravel-log-viewer

包简介

Laravel package to browse, filter and manage application log files.

README 文档

README

Tests

Visualizador de logs para Laravel con soporte para Blade, Inertia y API.

Permite inspeccionar archivos de log, filtrar registros, visualizar excepciones y administrar múltiples archivos de log desde una interfaz sencilla.

Laravel Log Viewer

Características

  • Lectura de archivos .log dentro de storage/logs.

  • Soporte para múltiples archivos de log.

  • Selección dinámica de archivos.

  • Filtros por:

    • Nivel.
    • Canal.
    • Fecha.
    • Registros con excepción.
  • Soporte para:

    • Blade.
    • Inertia.
    • API JSON.
  • Limpieza de archivos de log.

  • Middleware configurables.

  • Compatible con Spatie Laravel Permission.

  • Detección de contexto JSON.

  • Detección de excepciones.

  • Soporte para logs multilinea.

Requisitos

  • PHP 8.1+
  • Laravel 10.x
  • Laravel 11.x
  • Laravel 12.x

Instalación

composer require edwinylil1/laravel-log-viewer

Publicar configuración:

php artisan vendor:publish --tag=logviewer-config

Publicar vistas Blade:

php artisan vendor:publish --tag=logviewer-views

Publicar componentes Vue:

php artisan vendor:publish --tag=logviewer-vue

Laravel Log Viewer

Laravel Log Viewer

Laravel Log Viewer

---

La vista Inertia publicada es únicamente una referencia.

Debe adaptar:

  • Layout principal.
  • Componentes UI.
  • Sistema de diseño.
  • Tailwind/Shadcn.

a la estructura de su aplicación.

Configuración

Archivo:

config/logviewer.php

Log por defecto

'default_log' => 'laravel.log',

Archivo mostrado al ingresar al visor.

Middleware de acceso

'middleware' => [
    'web',
    'auth',
],

Ejemplos:

'middleware' => [
    'web',
    'auth',
    'permission:view logs',
],
'middleware' => [
    'web',
    'auth',
    'role:super-admin',
],
'middleware' => [
    'web',
    'auth',
    'can:view logs',
],

Compatible con Spatie Laravel Permission.

Middleware para limpieza

'middleware_clear' => [
    'web',
    'auth',
],

Ejemplo:

'middleware_clear' => [
    'web',
    'auth',
    'permission:clear logs',
],

Permite restringir la limpieza de logs independientemente del acceso de lectura.

Habilitar limpieza

'allow_clear' => true,

Si está deshabilitado, la ruta responderá con error HTTP 403.

Logs autorizados para limpieza

'clearable_logs' => [
    'laravel.log',
],

Solo los archivos incluidos en esta lista podrán vaciarse.

Prefijo de rutas

'route' => 'logs',

Genera rutas como:

/logs/log-viewer
/logs/clear

Tipo de interfaz

'ui' => 'blade',

Opciones disponibles:

'blade'
'inertia'
'api'

Vista Blade

'blade_view' => 'logviewer::index',

Vista utilizada cuando ui = blade.

Página Inertia

'inertia_page' => 'LogViewer/Index',

Componente utilizado cuando ui = inertia.

Canales permitidos

'allowed_channels' => [
    'local',
    'stack',
    'daily',
],

Si utilizas canales personalizados deberás agregarlos aquí.

Niveles permitidos

'allowed_levels' => [
    'debug',
    'info',
    'notice',
    'warning',
    'error',
    'critical',
    'alert',
    'emergency',
],

Basados en los niveles estándar de Monolog.

Rutas

Visor de logs

GET /logs/log-viewer

Limpiar log

DELETE /logs/clear

Parámetros:

{
    "log": "laravel.log"
}

Filtros disponibles

Archivo

?log=laravel.log

Nivel

?level=error

Canal

?channel=local

Fecha

?date=2026-06-12

Con excepción

?has_exception=1

Ejemplos

Mostrar errores

/logs/log-viewer?level=error

Mostrar errores del canal local

/logs/log-viewer?channel=local&level=error

Mostrar registros de una fecha

/logs/log-viewer?date=2026-06-12

Mostrar únicamente excepciones

/logs/log-viewer?has_exception=1

Leer otro archivo

/logs/log-viewer?log=test.log

Compatibilidad con Spatie Laravel Permission

Configuración:

'middleware' => [
    'web',
    'auth',
    'permission:view logs',
],

'middleware_clear' => [
    'web',
    'auth',
    'permission:clear logs',
],

Crear permisos:

use Spatie\Permission\Models\Permission;

Permission::create([
    'name' => 'view logs',
]);

Permission::create([
    'name' => 'clear logs',
]);

Arquitectura

El paquete está organizado utilizando:

  • DTOs
  • Actions
  • Services
  • Renderers
  • Form Requests

Componentes principales

Componente Responsabilidad
LogViewerController Orquesta las peticiones HTTP
ReadLogsAction Lee y filtra registros
ClearLogAction Limpia archivos de log
LogParserService Parsea el contenido de los logs
LogFileService Gestiona archivos de log
RendererFactory Resuelve el renderer configurado
BladeRenderer Renderiza vistas Blade
InertiaRenderer Renderiza páginas Inertia
ApiRenderer Retorna respuestas JSON
LogFilters DTO de filtros
LogEntry DTO de registros

Roadmap

Características previstas para futuras versiones:

  • Paginación de registros.
  • Búsqueda por texto.
  • Descarga de archivos de log.
  • Detección automática de canales.
  • Soporte mejorado para logs rotados.
  • Estadísticas por nivel.
  • Visualización enriquecida de contexto JSON.
  • Exportación de registros.

Licencia

MIT

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 4
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-16

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固