吴吉达/laravel-log-facade

基于 Laravel 的简单日志门面工具。

1.0 2023-05-02 02:22 UTC

This package is auto-updated.

Last update: 2024-10-01 00:17:06 UTC


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,
        ],

        ...

    ],

];