devraeph/laravel-alh

Laravel 的另一个日志辅助工具

0.2.0 2023-03-30 14:17 UTC

This package is auto-updated.

Last update: 2024-08-30 01:55:19 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

另一个小巧简单的日志包。我主要创建这个包是为了自己使用,并简化我在进行中的项目的日志处理。

如果有人能使用这个包,欢迎您贡献或提出问题。

安装

您可以通过 composer 安装此包

composer require devraeph/laravel-alh

您可以使用以下命令安装此包

php artisan alh:install

或者手动安装

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="laravel-alh-migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="laravel-alh-config"

这是已发布的配置文件的内容

return [
    'logging' => [
        'in_productions' => env("ALH_LOG_IN_PRODUCTION",false),
        "to_database" => env("ALH_TO_DB",false),
        "to_file" => env("ALH_TO_FILE",true),
        "file_driver" => env("ALH_FILE_DRIVER","local"),
        "file_path" => env("ALH_FILE_PATH","logs_alh"),
        "separate_by_type" => env("ALH_SEPARATE_BY_TYPE",false),
    ],
    'general' => [
        "clear_logs" => false,
        'retention' => env("ALH_LOG_RETENTION",7), //Keep Logs for 7 days by default
    ],

];

可选地,您可以使用以下命令发布视图

php artisan vendor:publish --tag="laravel-alh-views"

用法

  /*
   * Uses default mechanism
   * configured in config/alh.php
   * default only toFile and not in production
   */
   
   ALH::error("Error message",new Exception("ex"));
   ALH::warning("Warning message",new Exception("ex"));
   ALH::info("Info message");
   ALH::success("Success message");
   ALH::pending("Pending message");

   /*
   * Override config settings
   */

   /* Log Only to DB */
   ALH::toDB()->error("Error message",new Exception("ex"));
   /* Log only to File */
   ALH::toFile()->error("Error message",new Exception("ex"));
   /* Force Log both */
   ALH::toDB()->toFile()->error("Error message",new Exception("ex"));

   /*
   * Option to set Log issuer like User
   */
   ALH::setIssuer(User::first())->error("Error message",new Exception("ex"));

访问数据库日志

仪表板位于 /alh-logs

权限定义与 laravel/horizon 类似。

您可以在 app/Providers/ALHMainServiceProvider.php 中更改默认设置

protected function gate(): void
{
    Gate::define('viewALH', function (User $user) {
        return in_array($user->email, [
            //
        ]);
    });
}

测试

composer test

更新日志

请参阅 更新日志 获取有关最近更改的更多信息。

贡献

请参阅 贡献指南 获取详细信息。

安全漏洞

请查阅 我们的安全策略 了解如何报告安全漏洞。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。