PHP code example of itxiao6 / aliyun-sls
1. Go to this page and download the library: Download itxiao6/aliyun-sls library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
itxiao6 / aliyun-sls example snippets
return [
'endpoint' => env('ALIYUN_SLS_ENDPOINT', 'cn-beijing.log.aliyuncs.com'),
'access_key_id' => env('ALIYUN_SLS_ACCESS_KEY_ID', ''),
'access_key_secret' => env('ALIYUN_SLS_ACCESS_KEY_SECRET', ''),
];
declare(strict_types=1);
namespace App\Service;
use Heartide\AliYun\Sls\Request\GetLogsRequest;
use Heartide\AliYun\Sls\Request\PutLogsRequest;
use Hyperf\HttpServer\Request;
use Heartide\AliYun\Sls\ClientInterface;
use Hyperf\Di\Annotation\Inject;
class LoggerService
{
/**
* @Inject()
* @var ClientInterface
*/
protected $sls;
public function getLogs(Request $request)
{
$getLogsRequest = make(GetLogsRequest::class);
$getLogsRequest->setProject($request->input('project'));
$getLogsRequest->setLogstore($request->input('logStore'));
$getLogsRequest->setFrom($request->input('from'));
$getLogsRequest->setTo($request->input('to'));
$getLogsRequest->setTopic($request->input('topic'));
$getLogsRequest->setQuery($request->input('query'));
$getLogsRequest->setLine($request->input('line'));
$getLogsRequest->setOffset($request->input('offset'));
$getLogsRequest->setReverse($request->input('reverse'));
return $this->sls->getLogs($getLogsRequest);
}
public function putLogs(Request $request)
{
$content = collect($request->input('content'))
->map(function ($item) {
return make(LogItem::class, [time(), $item]);
});
$putLogsRequest = make(PutLogsRequest::class);
$putLogsRequest->setProject($request->input('project'));
$putLogsRequest->setLogstore($request->input('logStore'));
$putLogsRequest->setTopic($request->input('topic'));
$putLogsRequest->setShardKey($request->input('shardKey'));
$putLogsRequest->setLogItems($content->toArray());
$putLogsResponse = $this->sls->putLogs($putLogsRequest);
return $putLogsResponse->getRequestId();
}
}
use Hyperf\Di\Annotation\Inject;
use Heartide\AliYun\Sls\ClientInterface;
/**
* @Inject()
* @var ClientInterface
*/
protected $sls;