Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. LogWriterFactory.php

function LogWriterFactory::create

File

vendor/open-telemetry/api/Behavior/Internal/LogWriterFactory.php, line 19

Class

LogWriterFactory

Namespace

OpenTelemetry\API\Behavior\Internal

Code

public function create() : LogWriterInterface {
    $dest = (new ConfigurationResolver())->getString(self::OTEL_PHP_LOG_DESTINATION);
    $logger = LoggerHolder::get();
    switch ($dest) {
        case 'none':
            return new NoopLogWriter();
        case 'stderr':
            return new StreamLogWriter('php://stderr');
        case 'stdout':
            return new StreamLogWriter('php://stdout');
        case 'psr3':
            if ($logger) {
                return new Psr3LogWriter($logger);
            }
            error_log('OpenTelemetry: cannot use OTEL_PHP_LOG_DESTINATION=psr3 without providing a PSR-3 logger');
            
            //default to error log
            return new ErrorLogWriter();
        case 'error_log':
            return new ErrorLogWriter();
        default:
            if ($logger) {
                return new Psr3LogWriter($logger);
            }
            return new ErrorLogWriter();
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal