nechaienko / laravel-mongodb-logging
此包的最新版本(1.0.2)没有提供许可证信息。
使用 Laravel 日志记录功能记录到 Mongodb
1.0.2
2019-01-18 08:32 UTC
Requires
- php: >=7.1
- illuminate/support: ~5.6
- jenssegers/mongodb: ~3.4
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 修改器 来更改字段格式。
- 创建您的模型并覆盖所需的方法
namespace App\Services\Logging;
use Nechaienko\MongodbLogging\MongoDbModel as ParentMongoDbModel;
class MongoDbModel extends ParentMongoDbModel
{
public function setDatetimeAttribute($value)
{
...
$this->attributes['datetime'] = $resultValue;
}
}
- 将您的模型添加到配置中
'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');