csun-metalab/laravel-multiple-logs

为 Laravel 5 设计的 Composer 包,增加了几个额外的日志文件以及写入这些文件的门面。

1.0.1 2017-06-06 00:32 UTC

This package is auto-updated.

Last update: 2024-09-26 04:06:02 UTC


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 中添加多个日志文件和额外的记录功能变得更加容易。