thoth-pharaoh / logger
Log紀錄-收集器
v2.0.3
2023-08-03 05:56 UTC
Requires
- php: ^8.0
- ext-json: *
- illuminate/support: >=9.0
- rap2hpoutre/laravel-log-viewer: ^2.0
Requires (Dev)
- orchestra/testbench: ^7.0
README
可以歸類成不同資料夾,並以日期及小時做分類
logs
├── api
│ └── 2021-04-19
│ └── 14.log
└── crontab
└── 2021-04-16
└── 13.log
然後搭配 ap2hpoutre/laravel-log-viewer 套件,可以顯示Log視窗
版本匹配
Laravel | package |
---|---|
8.X | 1.X |
9.X | 2.X |
安裝
你可以使用 composer 做安裝
composer require thoth-pharaoh/logger
匯出 Config
php artisan vendor:publish --tag=logger-config --force
註冊 logs/{folder} 路由
RouteServiceProvider
public function boot() { $this->routes(function () { Logger::routes(); .... }); }
至路由 http://domain/logs/{folder}
即可看到Log畫面
folder為Log資料夾名稱 可以至 config/logger.php 中 log_folders 欄位添加
使用方法
使用 Facade:
先引入門面
use Pharaoh\Logger\Facades\Logger;
建立Log:
Logger::debug($folder, $message); Logger::info($folder, $message); Logger::notice($folder, $message); Logger::warning($folder, $message); Logger::error($folder, $message); Logger::critical($folder, $message); Logger::alert($folder, $message); Logger::emergency($folder, $message);
參數 | 說明 | 類型 | 範例 |
---|---|---|---|
$folder | Log資料夾 | string | api |
$message | Log訊息 | array | ['error' => 'somethings went wrong'] |
清除Log:
Logger::destroy($folder, $destroyDate);
參數 | 說明 | 類型 | 範例 |
---|---|---|---|
$folder | Log資料夾 | string | api |
$destroyDate | 此日期以前的紀錄做清除 | string | 2021-03-01(意指 2021-02-28以前的紀錄做清除) |
也可以使用 Artisan Command 方便放到 Schedule 裡做定期清除任務
php artisan destroy:logs {--destroy_days=}
參數 | 說明 | 類型 | 範例 |
---|---|---|---|
--destroy_days | 保留幾天內的Log紀錄 | int | 30 |
destroy_days 不給就是以 config.logger.php 中 destroy_days 欄位為主