吴吉达 / laravel-log-facade
基于 Laravel 的简单日志门面工具。
1.0
2023-05-02 02:22 UTC
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.0
- guzzlehttp/psr7: ^2.0
- laravel/framework: ^9.0 || ^10.0
- monolog/monolog: ^3.0
- nesbot/carbon: ^2.0 || ^3.0
- psr/http-message: ^1.0 || ^2.0
README
基于 Laravel 的简单日志门面工具。
安装
composer require "wujidadi/laravel-log-facade"
安装后,您应该创建自己的 LogFacade
类,该类扩展了 Wujidadi\LogFacade\LogFacade
,以便为您的不同日志通道。
假设您有一个名为 App\Utilities\LogFacade
的类,它扩展了 Wujidadi\LogFacade\LogFacade
<?php namespace App\Utilities; use Wujidadi\LogFacade\LogFacade as Facade; use Wujidadi\LogFacade\Logger; class LogFacade extends Facade { public static function mychannel(): Logger { return new Logger('mychanel'); } }
并在您的 config/logging.php
文件中注册该通道
return [ ... 'channels' => [ 'mychannel' => [ 'driver' => 'daily', 'tap' => [\Wujidadi\LogFacade\MicrosecondFormatter::class], 'path' => storage_path('logs/mychannel/mymessage.log'), 'level' => env('LOG_LEVEL', 'debug'), 'days' => 30, 'permission' => 0664, 'replace_placeholders' => true, ], ... ], ];
现在您可以使用 App\Utilities\LogFacade::mychannel()
来记录您的消息。
微秒级时间戳
Wujidadi\LogFacade\MicrosecondFormatter
,它将日志时间戳设置为微秒级,可以在每个通道的 "tap" 选项中使用,位于 config/logging.php
文件中,如下所示:
return [ ... 'channels' => [ ... 'daily' => [ 'driver' => 'daily', 'tap' => [\Wujidadi\LogFacade\MicrosecondFormatter::class], 'path' => storage_path('logs/laravel.log'), 'level' => env('LOG_LEVEL', 'debug'), 'days' => 14, 'replace_placeholders' => true, ], ... ], ];