Browse Source

Merge branch 'log' into speaker

* log:
  创建日志类

# Conflicts:
#	app/Controller/TestController.php
#	composer.json
master
Mike 5 years ago
parent
commit
a31168d1a6
  1. 88
      app/Commons/Log.php
  2. 8
      app/Controller/AbstractController.php
  3. 14
      app/Controller/TestController.php
  4. 2
      composer.json
  5. 1
      config/autoload/dependencies.php

88
app/Commons/Log.php

@ -0,0 +1,88 @@
<?php
namespace App\Commons;
use Hyperf\Guzzle\ClientFactory;
class Log
{
/**
* @var \Hyperf\Guzzle\ClientFactory
*/
private $clientFactory;
public function __construct(ClientFactory $clientFactory)
{
$this->clientFactory = $clientFactory;
}
public function getClient()
{
// $options 等同于 GuzzleHttp\Client 构造函数的 $config 参数
$options = [
'timeout' => 2.0,
];
// $client 为协程化的 GuzzleHttp\Client 对象
$client = $this->clientFactory->create($options);
return $client;
}
public function event($labels=null,$datas){
co(function () use ($labels,$datas){
$client = $this->getClient();
$kv = [];
foreach ($datas as $key => $value) {
$kv[] = $key."=".$value;
}
$pushLabels = [];
$event_name = 'event_'.env('APP_ENV');
if(!empty($labels)) $pushLabels[$event_name] = $labels;
/*
* data format:
curl -v -H "Content-Type: application/json" -XPOST -s "http://39.96.12.39:3100/loki/api/v1/push" --data-raw \
'{"streams": [{ "stream": { "foo": "bar2" }, "values": [ [ "1596274538882028800", "fizzbuzz" ] ] }]}'
*/
$ts = $this->getMsecTime() . '000000';
$datas = implode("&",$kv);
$values = [[$ts,$datas]];
$app_name = env('APP_NAME').'_'.env('APP_ENV');
$pushLabels['app']= $app_name;
$pushDatas = [
'streams'=>[
[
'stream'=>$pushLabels,
'values'=>$values,
]
]
];
$client->post(
'http://39.96.12.39:3100/loki/api/v1/push',
[
'headers'=>[
'Content-Type'=>'application/json'
],
'body' => json_encode($pushDatas)
]
);
//var_dump(json_encode($pushDatas) );
});
}
public function push($datas){
$this->event(null,$datas);
}
public function getMsecTime()
{
list($msec, $sec) = explode(' ', microtime());
$msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
return $msectime;
}
}

8
app/Controller/AbstractController.php

@ -15,9 +15,17 @@ use Hyperf\Di\Annotation\Inject;
use Hyperf\HttpServer\Contract\RequestInterface; use Hyperf\HttpServer\Contract\RequestInterface;
use Hyperf\HttpServer\Contract\ResponseInterface; use Hyperf\HttpServer\Contract\ResponseInterface;
use Psr\Container\ContainerInterface; use Psr\Container\ContainerInterface;
use App\Commons\Log;
abstract class AbstractController abstract class AbstractController
{ {
/**
* @Inject
* @var Log
*/
protected $log;
/** /**
* @Inject * @Inject
* @var ContainerInterface * @var ContainerInterface

14
app/Controller/TestController.php

@ -11,7 +11,7 @@ use Hyperf\Utils\ApplicationContext;
use Hyperf\Task\TaskExecutor; use Hyperf\Task\TaskExecutor;
use Hyperf\Task\Task; use Hyperf\Task\Task;
use App\TaskWorker\SSDBTask; use App\TaskWorker\SSDBTask;
use App\TaskWorker\AliIotTask;
use App\Commons\Log;
/** /**
* @AutoController() * @AutoController()
@ -32,14 +32,18 @@ class TestController extends AbstractController
// $client = ApplicationContext::getContainer()->get(SSDBTask::class); // $client = ApplicationContext::getContainer()->get(SSDBTask::class);
// $result = $client->exec("set","bar","1234"); // $result = $client->exec("set","bar","1234");
// $result = $client->exec("get","bar"); // $result = $client->exec("get","bar");
$client = ApplicationContext::getContainer()->get(AliIotTask::class);
$client->exec("set","bar","1234");
// $client = ApplicationContext::getContainer()->get(MethodTask::class); // $client = ApplicationContext::getContainer()->get(MethodTask::class);
// $result = $client->handle("set"); // $result = $client->handle("set");
$this->name = 'index1 action '. $result;
//$log = ApplicationContext::getContainer()->get(Log::class);
$log = $this->log;
$log->push(['test'=>1,'user_id'=>290,'msg'=>'order']);
$log->event('t1',['test'=>1,'user_id'=>290,'msg'=>'order']);
//$this->name = 'index1 action '. $result;
return $this->name; return $this->name;
} }

2
composer.json

@ -19,7 +19,7 @@
"hyperf/config": "~2.0.0", "hyperf/config": "~2.0.0",
"hyperf/db-connection": "~2.0.0", "hyperf/db-connection": "~2.0.0",
"hyperf/framework": "~2.0.0", "hyperf/framework": "~2.0.0",
"hyperf/guzzle": "~2.0.0",
"hyperf/guzzle": "^2.0",
"hyperf/http-server": "~2.0.0", "hyperf/http-server": "~2.0.0",
"hyperf/logger": "~2.0.0", "hyperf/logger": "~2.0.0",
"hyperf/memory": "~2.0.0", "hyperf/memory": "~2.0.0",

1
config/autoload/dependencies.php

@ -13,4 +13,5 @@ return [
\App\Service\ServiceEvaluateServiceInterface::class => \App\Service\ServiceEvaluateService::class, \App\Service\ServiceEvaluateServiceInterface::class => \App\Service\ServiceEvaluateService::class,
\App\Service\AttachmentServiceInterface::class => \App\Service\AttachmentService::class, \App\Service\AttachmentServiceInterface::class => \App\Service\AttachmentService::class,
\App\Service\ParamsTokenServiceInterface::class => \App\Service\ParamsTokenSsdbService::class, \App\Service\ParamsTokenServiceInterface::class => \App\Service\ParamsTokenSsdbService::class,
\App\Commons\Log::class => \App\Commons\Log::class,
]; ];
Loading…
Cancel
Save