unrelaxs / eslog-for-laravel
该软件包的最新版本(v0.1.4)没有可用的许可信息。
关于将 Laravel 日志发送到 Elasticsearch
v0.1.4
2020-04-03 03:36 UTC
Requires
This package is auto-updated.
Last update: 2024-09-29 05:36:11 UTC
README
该软件包已在以下配置中进行测试
- PHP 版本 >=7.1.3, <=7.3
- Laravel 框架版本 >=5.8, <=6
- Elasticsearch 版本 >=7
安装
使用 composer 安装软件包
composer require unrelaxs/eslog-for-laravel
如果你的 Laravel 框架版本 <= 5.4 或者 包发现 已禁用,请在 config/app.php
中添加以下提供者
'providers' => [ Laravel\Scout\ScoutServiceProvider::class, ScoutElastic\ScoutElasticServiceProvider::class, Unrelaxs\eslog\EslogServiceProvider::class, ]
配置
执行发布命令
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
php artisan vendor:publish --provider="ScoutElastic\ScoutElasticServiceProvider"
php artisan vendor:publish --provider="Unrelaxs\eslog\EslogServiceProvider"
在此文件中添加配置,指定弹性服务器的链接:端口 .evn
SCOUT_DRIVER=elastic #指定使用elastic
SCOUT_ELASTIC_HOST=http://域名:9200 #es服务器的链接
在此文件中修改 config/logging.php
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['custom'], //这里至少指定 custom
'ignore_exceptions' => false,
],
'custom' => [
'driver' => 'custom',
'via' => Unrelaxs\Eslog\Log\Handler\CreateEsLogger::class, //指定创建es的logger扩展包
'url' => 'http://ip', es的链接
'port'=> '9200',
'index'=> 'laralog', //es的索引名
'toDB' => false, //是否写入数据库
]
创建一个索引配置文件
php artisan make:index-configurator \\App\\Elasticsearch\\LogIndexConfigurator
此步骤可忽略,例如索引配置文件配置LogIndexConfigurator如下
protected $settings = [
'analysis' => [
'analyzer' => [
'default' => [
'type' => 'ik_max_word', //默认的分词器, 因为我独自安装了中文分析器,如何安装,请参考下面文献
]
]
]
];
执行命令 生成一个logModel指向一个索引
php artisan unrelaxs:create-mapping "\App\Elasticsearch\LogIndexConfigurator"
执行命令在es服务器上创建索引
php artisan elastic:create-index "\App\Elasticsearch\LogIndexConfigurator"
执行命令 将上面执行命令返回的model映射到es服务器
php artisan elastic:update-mapping "\Unrelaxs\Eslog\Model\LogModel"
在客户端调用Log::info('你好啊');,如在routes/web.php中这样
Route::get('/', function () {
\Illuminate\Support\Facades\Log::info('成功加载'); //记录日志,将自动把数据推送到es服务器
return view('welcome');
});
去es服务器查看效果吧!