create(); return self::$writer; } /** * Get level priority from level name */ public static function level(string $level): int { $value = array_search($level, self::LEVELS); return $value ?: 1; //'info' } /** * Get defined OTEL_LOG_LEVEL, or default */ public static function logLevel(): int { self::$logLevel ??= self::getLogLevel(); return self::$logLevel; } private static function getLogLevel(): int { $level = array_key_exists(self::OTEL_LOG_LEVEL, $_SERVER) ? $_SERVER[self::OTEL_LOG_LEVEL] : getenv(self::OTEL_LOG_LEVEL); if (!$level) { $level = ini_get(self::OTEL_LOG_LEVEL); } if (!$level) { $level = self::DEFAULT_LEVEL; } return self::level($level); } public static function reset(): void { self::$logLevel = null; self::$writer = null; } }