反复调试Laravel,Monolog和 graylog2 / gelf-php 代码后,我不知道在哪里可以找到此行为的原因。
我想使用 HttpTransport 将日志消息发送到graylog服务器。 但是它总是尝试发送两次。第一条消息正确发送。但是它尝试再次发送它,并遇到超时和以下异常:
Graylog服务器未正确回答,应为“ HTTP / 1.x 202 Accepted”,响应为“ 在vendor / graylog2 / gelf-php / src / Gelf / Transport / HttpTransport.php L228中
第二个电话遇到此错误。
配置如下:
config / logging.php:
'channels' => [
'graylog' => [
'driver' => 'monolog',
'level' => 'debug',
'name' => 'core-logger',
'handler' => GelfHandler::class,
'handler_with' => [
'publisher' => app(GraylogSetup::class)->getGelfPublisher()
],
'formatter' => GelfMessageFormatter::class,
'ignore_exceptions' => false,
],
...
这不是处理程序或传输循环的问题。 GelfHandler :: write方法仅被调用两次。我不知道在哪里。
初始日志调用如下:
Log::debug('This is a test with Laravel 5.7');
希望您有任何想法。