public function __construct() { $class = get_class($this); Log::info("middleware {$class}"); }
protected function logRpc() { return function (callable $handler) { return function (RequestInterface $request, array $options) use($handler) { $promise = $handler($request, $options); $spent = new RunTimeUtil(); $spent->start(); return $promise->then(function (ResponseInterface $response) use($request, $spent) { $cost = $spent->spent(); $req = $this->logRequest($request); $res = $this->logResponse($response); $log = array_merge($req, $res, ['cost#' . $cost]); Log::info('curl', implode('#|', $log)); return $response; }); }; }; }
<?php /** * creator: maigoxin */ use App\Config\Database; use App\Controller\BaseController; use Slim\Container; use Slim\Http\Request; use Slim\Http\Response; use EasyLib\Log; define('SESSION_KEY', 'digest'); define('HOST_NAME', '.maigoxin.com'); Log::configure('./log4php.properties'); $config = []; $config['determineRouteBeforeAppMiddleware'] = true; $config['displayErrorDetails'] = true; $container = new Container(['setting' => $config]); $container['notFoundHandler'] = function ($c) { return function ($request, $response) use($c) { $r = new App\Helper\ApiView($c['response']); return $r->error('ErrorNotFoundHandler'); }; }; $container['view'] = function ($c) { return new App\Helper\ApiView($c['response']); };