我在生产服务器上遇到身份验证问题,该问题很可能与代码无关,而是 IT 配置问题...
为了证明这一点,我想检查 API 平台在尝试获取数据时是否收到授权标头。我在 API 平台文档中没有找到任何关于日志的信息。使用 Symfony 日志系统记录 API 请求及其标头的正确方法是什么,知道我无权访问实际的控制器代码,因为它纯粹是使用实体上的 APIRessource 注释配置的?
需要明确的是,在本地一切正常,我不是在这里寻找解决我的问题的方法,只是一种使用 API 平台更改日志格式或将日志添加到传入请求的干净方法。
我已经按照 Symfony 4.3 文档创建了一个自定义事件、调度它并监听它。跟踪我的控制器的执行,看起来事件调度程序没有找到任何订阅者,我无法弄清楚我做错了什么。
我的事件类非常基础:
namespace App\Event;
use Symfony\Contracts\EventDispatcher\Event;
class TestEvent extends Event
{
public const NAME = 'test.event';
protected $data;
public function __construct(string $data)
{
$this->data = $data;
}
public function getData(): string
{
return $this->data;
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器实例化并调度事件:
class TestController extends AbstractController
{
private $eventDispatcher;
public function __construct(EventDispatcherInterface $eventDispatcher, LoggerInterface $logger)
{
$this->eventDispatcher = $eventDispatcher;
}
/**
* @Route("/event", name="event_test")
*/
public function eventTest()
{
$event = new TestEvent('Event string');
$this->eventDispatcher->dispatch($event);
return $this->render('Test/TestEvent.html.twig', [
'title' => 'Test Event', …Run Code Online (Sandbox Code Playgroud)