csun-metalab / laravel-multiple-logs
为 Laravel 5 设计的 Composer 包,增加了几个额外的日志文件以及写入这些文件的门面。
1.0.1
2017-06-06 00:32 UTC
Requires
- php: >=5.5.9
README
为 Laravel 5 设计的 Composer 包,增加了几个额外的日志文件以及写入这些文件的门面。
向 laravel.log
写入相对简单,但有时写入额外的日志有点麻烦。
目录
安装
要从 Composer 安装,请使用以下命令
composer require csun-metalab/laravel-multiple-logs
现在,将以下可选行添加到您的 .env
文件中
# Number of days for which the "daily" logs should be kept; default is 7
LOG_MAX_DAYS=7
接下来,将服务提供程序添加到 Laravel 中的 providers
数组中,如下所示
'providers' => [
//...
CSUNMetaLab\MultipleLogs\Providers\LoggingServiceProvider::class,
// You can also use the following depending on Laravel convention:
// 'CSUNMetaLab\MultipleLogs\Providers\LoggingServiceProvider',
//...
],
将两个新记录器的门面添加到 Laravel 中的 aliases
数组中,如下所示
'aliases' => [
//...
'AuditLog' => CSUNMetaLab\MultipleLogs\Facades\AuditLog::class,
'AuthLog' => CSUNMetaLab\MultipleLogs\Facades\AuthLog::class,
// You can also use the following depending on Laravel convention:
//'AuditLog' => 'CSUNMetaLab\MultipleLogs\Facades\AuditLog',
//'AuthLog' => 'CSUNMetaLab\MultipleLogs\Facades\AuthLog',
//...
],
最后,运行以下 Artisan 命令以发布配置
php artisan vendor:publish
门面
您添加到 config/app.php
文件中的两个门面如下
AuditLog
这会将日志写入您 storage/logs
目录中的 audit.log
文件。
这支持所有原生 Log
门面支持的方法。
匹配的 auditLogger()
辅助方法也支持作为实例方法。
AuthLog
这会将日志写入您 storage/logs
目录中的 auth.log
文件。
这支持所有原生 Log
门面支持的方法。
匹配的 authLogger()
辅助方法也支持作为实例方法。
使用示例
写入 INFO 数据
AuditLog::info("User performed some action");
AuthLog::info("User authenticated successfully");
auditLogger()->info("User performed some action");
authLogger()->info("User authenticated successfully");
写入 ERROR 数据
AuditLog::error("User tried to perform an action unsuccessfully");
AuthLog::error("User could not authenticate");
auditLogger()->error("User tried to perform an action unsuccessfully");
authLogger()->error("User could not authenticate");
创建自定义文件记录器
您可以通过扩展 Logger
类来创建自己的自定义文件记录器
<?php
namespace App\Logging;
use CSUNMetaLab\MultipleLogs\Loggers\Logger;
class PurchaseLogger extends Logger
{
/**
* Constructs a new PurchaseLogger object.
*
* @param string $path The path to the log file
* @param string $logLevel Optional parameter to specify minimum log level
*/
public function __construct($path, $logLevel="debug") {
parent::__construct($path, 'purchase', $logLevel);
}
}
?>
现在,您可以直接构造并立即使用方法,例如
<?php
use App\Logging\PurchaseLogger;
$pLogger = new PurchaseLogger(storage_path('logs/purchases.log'));
$pLogger->info("Successfully made a purchase");
?>
现在在 Laravel 中添加多个日志文件和额外的记录功能变得更加容易。