hermit/logs

Laravel 的日志工具

2.4.1 2020-06-22 08:50 UTC

This package is auto-updated.

Last update: 2024-09-22 18:20:36 UTC


README

运行命令

composer require hermit/logs
php artisan logs:install

用法

为了写入日志,只需调用 PSR-3 LoggerInterface 中描述的函数,来自 Hermit\Logs\Logger::class

示例

\Hermit\Logs\Logger::error('message');

\Hermit\Logs\Logger::error('warning',['author_id'=>5]);

\Hermit\Logs\Logger::log('type','message',['priority'=>5, 'comment'=>'Log comment']);

type - 字符串;日志类型,有助于分类日志 - 这些类别随后用作分类 message - 文本;主要描述;可以将对象作为消息参数传递(只要可以使用 json_encode() 函数对其执行操作)

上下文字符数组描述

priority - 整数 - 默认 1;日志优先级;

comment - 文本 - 默认 null;附加描述;有时在此处放置一些信息可能更有用

authorauthor_id - App\User 对象或整数,标识日志的作者;

其他条目只有在保存到文件中的日志上才会显示。

配置

您可以在 config\logger.php 文件中配置日志选项,或者通过将内容添加到项目的 .env 文件中来配置。

LOGS_ENABLED=(true|false)
LOG_DESTINATION=(db|file)
LOG_FILE_PATH=logs
LOG_SAVE_METHOD=(direct|redis)
LOGS_REDIS_BATCH=100
LOG_MAX_FILES=14
LOGS_AUTOMATIC_ARCHIVE=(true|false)
LOGS_LIFESPAN=3
LOGS_ARCHIVE_BATCH=1000

路由

Route::prefix('logs')->name('logs.')->group(function () {
    Route::get('/', 'hermit\logs\MainLogController@index')->name('index');
    Route::post('/priorities', 'hermit\logs\MainLogController@savePriorities')->name('savePriorities');
    Route::prefix('archives')->name('archives.')->group(function () {
        Route::get('/', 'hermit\logs\MainLogArchiveController@index')->name('index');
        Route::get('/details/{logArchive}', 'hermit\logs\MainLogArchiveController@details')->name('details');
    });
});

为了在日志路由上添加身份验证,您可以将这些路由添加到项目的 web.php 路由文件中,并自行进行安全设置。

可发布文件

您可以从此包发布 3 个文件,并根据需要编辑它们。

php artisan vendor:publish

  • hermit-logs-controller - LogController.php - 扩展 MainLogController.php;您可以像您所希望的那样覆盖 MainLogController 类中定义的所有方法
  • hermit-logs-archives-controller - LogArchiveController.php - 扩展 MainLogArchiveController.php;您可以像您所希望的那样覆盖 MainLogController 类中定义的所有方法
  • hermit-logs-views - prioritiesForm.blade.php - 用于设置现有日志类别优先级的简单表单

优先级

当日志被保存时,它的优先级与 MAIN_PRIORITY 的最小值以及定义的 TYPE 优先级进行比较。如果日志优先级低于这两个值中的最大值,则写入日志,否则不执行任何操作。

归档日志

随着时间的推移,日志将在您的数据库中占用更多的空间。

您可以使用以下命令归档日志以节省空间:

php artisan logs:archive

更新

* => 2.0

  • 运行命令 php artisan logs:update