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

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

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

kahovskaia/laravel-log-viewer

Composer 安装命令:

composer require kahovskaia/laravel-log-viewer

包简介

Lib for reading log files

README 文档

README

Универсальная библиотека для просмотра логов Laravel с гибким Blade-компонентом, теперь с улучшенным дизайном и полноэкранным модальным окном для просмотра трассировки стека.

Установка

composer require kahovskaia/laravel-log-viewer

После установки опубликуйте ресурсы:

php artisan vendor:publish --provider="kahovskaia\LaravelLogViewer\LaravelLogViewerServiceProvider"

Примечание: Для использования полноэкранного модального окна для трассировки стека требуется Bootstrap 5. Убедитесь, что CSS и JS файлы Bootstrap включены в ваш проект.

Использование

Базовое использование

Просто добавьте компонент в ваш Blade-шаблон:

<x-log-viewer />

Продвинутое использование

<x-log-viewer 
    :per-page="25"
    folder="{{ storage_path('logs/custom') }}"
    file="{{ storage_path('logs/custom/app.log') }}"
    :config="[
        'show_breadcrumbs' => true,
        'show_sidebar' => true,
        'show_actions' => true,
        'show_pagination' => true,
        'table_classes' => 'table table-striped',
        'icons' => [
            'folder' => 'ti ti-folder',
            'file' => 'ti ti-file',
        ],
        'routes' => [
            'index' => 'admin.logs.index',
            'download' => 'admin.log.download',
            'delete' => 'admin.log.delete',
            'clear' => 'admin.log.clear',
        ]
    ]" 
/>

Особенности

  • Полноэкранное модальное окно для трассировки стека: Просмотр трассировки стека теперь осуществляется в полноэкранном модальном окне, что устраняет проблемы с горизонтальной прокруткой и улучшает читаемость.
  • Улучшенный дизайн: Современный и яркий дизайн с плавными градиентами, обновленной цветовой палитрой и улучшенной типографикой для лучшей читаемости.
  • Гибкая конфигурация: Настройка отображения хлебных крошек, боковой панели, действий и пагинации.
  • Поддержка иконок: Используйте иконки Tabler, Bootstrap или другие для кастомизации.

Параметры компонента

Основные параметры

ПараметрТипПо умолчаниюОписание
folderstringstorage_path('logs')Путь к папке с логами
filestringstorage_path('logs/laravel.log')Путь к файлу лога
pageint1Текущая страница
per-pageint25Количество записей на странице
configarray[]Конфигурация компонента

Конфигурация (config)

ПараметрТипПо умолчаниюОписание
show_breadcrumbsbooltrueПоказывать хлебные крошки
show_sidebarbooltrueПоказывать боковую панель
show_actionsbooltrueПоказывать действия (скачать, очистить, удалить)
show_paginationbooltrueПоказывать пагинацию
table_classesstring'table table-striped'CSS классы для таблицы
container_classesstring'row'CSS классы для контейнера
sidebar_classesstring'col-2'CSS классы для боковой панели
content_classesstring'col-10'CSS классы для основного контента

Иконки (icons)

'icons' => [
    'folder' => 'ti ti-folder',        // Иконка папки
    'file' => 'ti ti-file',            // Иконка файла
    'download' => 'ti ti-download',     // Иконка скачивания
    'delete' => 'ti ti-trash',          // Иконка удаления
    'clear' => 'ti ti-file-x',          // Иконка очистки
    'calendar' => 'ti ti-calendar-plus', // Иконка календаря
    'search' => 'ti ti-file-search',    // Иконка поиска
]

Маршруты (routes)

'routes' => [
    'index' => 'admin.logs.index',      // Маршрут для просмотра логов
    'download' => 'admin.log.download', // Маршрут для скачивания
    'delete' => 'admin.log.delete',     // Маршрут для удаления
    'clear' => 'admin.log.clear',       // Маршрут для очистки
]

Примеры использования

1. Минималистичный режим

<x-log-viewer 
    :config="[
        'show_breadcrumbs' => false,
        'show_sidebar' => false,
        'show_actions' => false,
        'table_classes' => 'table table-sm',
    ]" 
/>

2. Для админ панели с полноэкранной трассировкой стека

<div class="container-fluid">
    <h1>{{ __('System Logs') }}</h1>
    
    <x-log-viewer 
        :config="[
            'table_classes' => 'table table-hover table-striped',
            'container_classes' => 'row g-4',
            'sidebar_classes' => 'col-lg-2',
            'content_classes' => 'col-lg-10',
        ]" 
    />
</div>

3. В модальном окне

<div class="modal fade" id="logModal">
    <div class="modal-dialog modal-fullscreen">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">System Logs</h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
            <div class="modal-body p-0">
                <x-log-viewer 
                    :per-page="10"
                    :config="[
                        'show_breadcrumbs' => false,
                        'show_sidebar' => false,
                        'show_actions' => false,
                        'container_classes' => '',
                        'table_classes' => 'table table-sm mb-0',
                    ]" 
                />
            </div>
        </div>
    </div>
</div>

4. С кастомными иконками (Bootstrap Icons)

<x-log-viewer 
    :config="[
        'icons' => [
            'folder' => 'bi bi-folder',
            'file' => 'bi bi-file-text',
            'download' => 'bi bi-download',
            'delete' => 'bi bi-trash',
            'clear' => 'bi bi-file-x',
            'calendar' => 'bi bi-calendar',
            'search' => 'bi bi-search',
        ]
    ]" 
/>

5. Темная тема

<x-log-viewer 
    :config="[
        'table_classes' => 'table table-dark table-striped',
        'container_classes' => 'row bg-dark text-light p-3 rounded',
    ]" 
/>

Контроллер

Если вы хотите использовать контроллер, добавьте маршруты:

// routes/web.php
Route::prefix('admin')->name('admin.')->group(function () {
    Route::get('/logs', [LogViewerController::class, 'index'])->name('logs.index');
    Route::get('/log/download', [LogViewerController::class, 'download'])->name('log.download');
    Route::get('/log/clear', [LogViewerController::class, 'clear'])->name('log.clear');
    Route::get('/log/delete', [LogViewerController::class, 'delete'])->name('log.delete');
});

Кастомизация

Публикация views

php artisan vendor:publish --tag=laravel-log-viewer-views

После публикации вы можете изменить шаблон компонента в resources/views/vendor/laravel-log-viewer/components/log-viewer.blade.php.

Публикация конфигурации

php artisan vendor:publish --tag=laravel-log-viewer-config

Конфигурационный файл будет доступен в config/logviewer.php.

Требования

  • PHP >= 8.0
  • Laravel >= 8.0
  • Bootstrap 5 (для полноэкранного модального окна трассировки стека)

Лицензия

MIT License. Подробности в файле LICENSE.

Поддержка

Если у вас есть вопросы или предложения, создайте issue в репозитории GitHub.

kahovskaia/laravel-log-viewer 适用场景与选型建议

kahovskaia/laravel-log-viewer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3.62k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 11 月 23 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「log」 「logging」 「laravel」 「log-reader」 「log-viewer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 kahovskaia/laravel-log-viewer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 kahovskaia/laravel-log-viewer 我们能提供哪些服务?
定制开发 / 二次开发

基于 kahovskaia/laravel-log-viewer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-11-23