kingfisherdirect / magento2-elasticsearch-logger
v1.0.2
2021-06-03 12:29 UTC
Requires
This package is auto-updated.
Last update: 2024-09-29 06:03:02 UTC
README
这是一个将日志直接发送到Elasticsearch的Magento 2模块
安装
- 安装composer包
composer require kingfisherdirect/magento2-elasticsearch-logger
- 然后运行
bin/magento setup:upgrade
- 通过
bin/magento setup:install或env.php文件配置模块
bin/magento setup:install \
--elasticsearch-logger-config='{"hosts": ["http://elasticsearch:9200"]}'\
--elasticsearch-logger-index='magento2-logs'
- 在
app/etc/di.xml中启用处理器
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <!-- some XML --> <!-- Find configuration for class Magento\Framework\Logger\Monolog --> <type name="Magento\Framework\Logger\Monolog"> <arguments> <argument name="name" xsi:type="string">main</argument> <argument name="handlers" xsi:type="array"> <item name="system" xsi:type="object">Magento\Framework\Logger\Handler\System</item> <item name="debug" xsi:type="object">Magento\Framework\Logger\Handler\Debug</item> <item name="syslog" xsi:type="object">Magento\Framework\Logger\Handler\Syslog</item> <!-- Add following line --> <item name="elasticsearch" xsi:type="object">KingfisherDirect\ElasticSearchLogger\Handler\ElasticSearchHandler</item> </argument> </arguments> </type> <!-- some other XML --> </config>
配置
模块可以通过app/etc/env.php文件进行配置,因为Elasticsearch的详细信息可能因部署而异。
要设置值,最好使用安装说明中描述的setup:install脚本
bin/magento setup:install \
--elasticsearch-logger-config='{"hosts": ["http://elasticsearch:9200"]}' \
--elasticsearch-logger-index='magento2-logs'
elasticsearch-logger-config
这是一个JSON配置,然后反序列化并用作构建Elasticsearch客户端的配置。基本设置如下
{
"hosts": [
"http://elasticsearch.example.org:9200"
]
}
如果您使用elasti.co服务,则应使用此配置
{
"elasticCloudId": "ID",
"basicAuthentication": ["USER", "PASSWORD"]
}
内部使用Elasticsearch\ClientBuilder::fromConfig()方法进行配置,因此您可能需要深入研究代码或检查https://github.com/elastic/elasticsearch-php上的库
如果此值留空,则不会将日志发送到Elasticsearch。
在env.php中,此值存储为PHP数组,而不是包含JSON的字符串
elasticsearch-logger-index
默认:monolog
日志应放入的索引名称
测试
尚未有任何。