Slim研读笔记七乱入篇之Monolog(补)

Monolog是最为广泛的PHP日志库,它有几十个处理程序可记录日志到不同的程序中。柚子前段时间也曾写过一篇关于Monolog研读博文,分析了Monolog最重要两个类中的关键代码。这节,介绍一些实用性的东东,譬如:如何用Monolog开发ELK可以使用的日志。

Logstash是一个开源的日志管理工具,带有一个漂亮的界面Kibana。我不想在这里描述如何安装Logstash,具体详情可查看我的博文微服务分类下的文章。

步骤1:设置LogStash

我们将使用Redis作为Logstash输入Elasticsearch作为输出。请将下面的代码添加到LogStash配置:
input {
  redis {
    key => phplogs
    data_type => ['list']
  }
}
output {
  elasticsearch_http {
    host => localhost
  }
}

步骤2:设置Monolog

现在,LogStash运行,让我们来看看一些编码。你需要安装独monolog/monolog和predis/predis。
<?php
// Be sure Monolog is installed via composer
require 'vendor/autoload.php'
use Monolog\Logger;
use Monolog\Handler\RedisHandler;
use Monolog\Formatter\LogstashFormatter;
use Predis\Client;
// Init a RedisHandler with a LogstashFormatter.
// The parameters may differ depending on your configuration of Redis.
// Important: The parameter 'logs' must be equal to the key you defined
// in your logstash configuration.
$redisHandler = new RedisHandler(new Client(), 'phplogs');
$formatter = new LogstashFormatter('my_app');
$redisHandler->setFormatter($formatter);
// Create a Logger instance with the RedisHandler
$logger = new Logger('logstash_test', array($redisHandler));
// Now you can start logging
$logger->info('Logging some infos to logstash.');


如果你设置都是正确的,Monolog会发送日志消息到Redis。由于Logstash监听redis,它会读取消息并将其发送到Elasticsearch。














  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值