nechaienko/laravel-mongodb-logging

此包的最新版本(1.0.2)没有提供许可证信息。

使用 Laravel 日志记录功能记录到 Mongodb

1.0.2 2019-01-18 08:32 UTC

This package is auto-updated.

Last update: 2024-09-29 00:16:57 UTC


README

此包提供了使用自定义 日志记录到 mongodb 的机会 Laravel 日志

需要依赖包 jenssegers/laravel-mongodb

安装

composer require nechaienko/laravel-mongodb-logging

配置

将配置添加到文件 ..\your_project\config\logging.php

'mogodb-channel' => [
            'driver' => 'custom',
            'via' => \Nechaienko\MongodbLogging\LogToMongoDb::class,
            'level' => 'info',
            'connection' => 'mongodb',
            'collection' => 'logs',         
        ],

定制

附加字段

'mogodb-channel' => [
            ...
            'additional_fields' => [
                'environment' => config('app.env'),
                ...
            ],         
        ],

字段格式化

您可以通过覆盖模型并使用 Laravel 修改器 来更改字段格式。

  1. 创建您的模型并覆盖所需的方法
namespace App\Services\Logging;

use Nechaienko\MongodbLogging\MongoDbModel as ParentMongoDbModel;

class MongoDbModel extends ParentMongoDbModel
{
    public function setDatetimeAttribute($value)
    {
        ...
        $this->attributes['datetime'] = $resultValue;
    }
}
  1. 将您的模型添加到配置中
'mogodb-channel' => [
            ...
            'custom_model' => \App\Services\Logging\MongoDbModel::class,         
        ],

设置默认字段

您可以通过覆盖常量 FIELDS_TO_SET 来定义要设置的字段。

namespace App\Services\Logging;

use Nechaienko\MongodbLogging\MongoDbModel as ParentMongoDbModel;

class MongoDbModel extends ParentMongoDbModel
{
    public const FIELDS_TO_SET = [
        'message',
        'level_name',
        'datetime',
        'extra',
    ];
}

用法

use Illuminate\Support\Facades\Log;
...
Log::channel('mogodb-channel')->info('message');