Laravel Log Viewer ——一個基於 Bootstrap 搭建,完美適配 PC、平板和移動端的日誌檢視後臺

gouguoyin發表於2020-03-23

簡介

Laravel Log Viewer 提供了一個基於bootstrap搭建,完美適配PC、平板和移動端的日誌檢視後臺,可自由配置訪問路由、許可權策略、中介軟體、導航連結,支援多語言和日誌搜尋、下載、刪除

E3O59xEU5b.png!largeLN01EOYuLO.png!large3tHJZKqlcX.png!large

安裝配置

安裝 larave-log-viewer

# 如果只想在開發環境安裝請加上 --dev
composer require gouguoyin/laravel-log-viewer

新增到服務提供者

config/app.phpproviders 陣列中加入

Gouguoyin\LogViewer\LogViewerServiceProvider::class,

現在你已經可以通過訪問你的域名/logs進入log-viewer後臺,

自定義Log Viewer

如果想進行一些自定義操作

執行php artisan vendor:publish --provider="Gouguoyin\LogViewer\LogViewerServiceProvider"會一次性生成

App/Providers/LogViewerServiceProvider.php 服務提供者檔案

configs/log-viewer.php 配置檔案

resources/lang/cn/log-viewer.php 中文翻譯檔案

resources/lang/en/log-viewer.php 英文翻譯檔案

resources/views/vendor/log-viewer 檢視目錄及檢視檔案

只生成配置檔案

php artisan vendor:publish --provider="Gouguoyin\LogViewer\LogViewerServiceProvider" --tag="log-viewer-config"

只生成服務提供者檔案

php artisan vendor:publish --provider="Gouguoyin\LogViewer\LogViewerServiceProvider" --tag="log-viewer-provider"

只生成翻譯檔案

php artisan vendor:publish --provider="Gouguoyin\LogViewer\LogViewerServiceProvider" --tag="log-viewer-lang"

只生成檢視檔案

php artisan vendor:publish --provider="Gouguoyin\LogViewer\LogViewerServiceProvider" --tag="log-viewer-views"

通過修改以上檔案即可在不修改擴充套件包的基礎上進行自定義操作

許可權驗證

config/app.phpproviders 陣列 中的 Gouguoyin\LogViewer\LogViewerServiceProvider::class 改成 app\Providers\LogViewerServiceProvider::class

Log Viewer預設路由是 /logs, 預設情況下,只能在 local 環境下訪問。在 app/Providers/LogViewerServiceProvider.php 檔案中,有一個 gate 方法。這裡授權控制 非本地 環境中的訪問。 你可以根據需要隨意修改此門面,以限制對 Log Viewer 的訪問:

/**
 * Register the log-viewer gate.
 *
 * This gate determines who can access log-viewer in non-local environments.
 *
 * @return void
 */
protected function gate()
{
    Gate::define('view-logs', function ($user) {
        return in_array($user->email, [
            //
        ]);
    });
}

Laravel會自動將 authenticated 使用者注入到 gate 方法。如果你的應用程式通過其他方法(如IP限制)提供安全,那麼使用者可能不需要“登入”。因此,你需要將上面的 function ($user) 更改為 function ($user = null)以遮蔽身份驗證。

配置說明

配置項 配置說明 可選值 預設值
web_route 配置訪問路由 logs
web_middleware 配置訪問中介軟體 [‘web’, ‘auth’]
web_navbar 配置後臺右上角導航連結
locale_language 配置本地化語言 en:英文、cn:中文 cn
page_size_menu 配置表格每頁顯示條數下拉選單 10, 20, 30, 50, 100
default_page_size 配置表格每頁顯示條數下拉選單預設選項 20
fix_header 配置表格頭欄位是否固定 true、false true

更新日誌

2020-02-24

  • 統一使用DIRECTORY_SEPARATOR常量替代/
  • 左側日誌檔案支援模糊搜尋

2020-02-20

  • 右上角新增下拉選單
  • 支援自定義授權策略
  • 支援自定義檢視
  • 支援自定義翻譯檔案
  • 支援自定義配置
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章