o11y-8.x-1.x-dev/modules/o11y_traces/src/Logger/Processor/TracerProcessor.php

modules/o11y_traces/src/Logger/Processor/TracerProcessor.php
<?php

namespace Drupal\o11y_traces\Logger\Processor;

use Monolog\LogRecord;
use Monolog\Processor\ProcessorInterface;
use OpenTelemetry\API\Trace\AbstractSpan;

/**
 * Monolog processor to add OpenTelemetry traceID to the log record.
 */
class TracerProcessor implements ProcessorInterface {

  /**
   * {@inheritdoc}
   */
  public function __invoke(LogRecord $record): LogRecord {
    $spanContext = AbstractSpan::getCurrent()->getContext();

    $record->extra = array_merge(
      $record->extra,
      [
        'traceID' => $spanContext->getTraceId(),
      ]
    );

    return $record;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc