summaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/sdk/Logs/LoggerSharedState.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/open-telemetry/sdk/Logs/LoggerSharedState.php')
-rw-r--r--vendor/open-telemetry/sdk/Logs/LoggerSharedState.php60
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/open-telemetry/sdk/Logs/LoggerSharedState.php b/vendor/open-telemetry/sdk/Logs/LoggerSharedState.php
new file mode 100644
index 000000000..aeeb45518
--- /dev/null
+++ b/vendor/open-telemetry/sdk/Logs/LoggerSharedState.php
@@ -0,0 +1,60 @@
+<?php
+
+declare(strict_types=1);
+
+namespace OpenTelemetry\SDK\Logs;
+
+use OpenTelemetry\SDK\Common\Future\CancellationInterface;
+use OpenTelemetry\SDK\Resource\ResourceInfo;
+
+class LoggerSharedState
+{
+ private ResourceInfo $resource;
+ private LogRecordProcessorInterface $processor;
+ private LogRecordLimits $limits;
+ private ?bool $shutdownResult = null;
+
+ public function __construct(
+ ResourceInfo $resource,
+ LogRecordLimits $limits,
+ LogRecordProcessorInterface $processor
+ ) {
+ $this->resource = $resource;
+ $this->limits = $limits;
+ $this->processor = $processor;
+ }
+ public function hasShutdown(): bool
+ {
+ return null !== $this->shutdownResult;
+ }
+
+ public function getResource(): ResourceInfo
+ {
+ return $this->resource;
+ }
+
+ public function getProcessor(): LogRecordProcessorInterface
+ {
+ return $this->processor;
+ }
+
+ public function getLogRecordLimits(): LogRecordLimits
+ {
+ return $this->limits;
+ }
+
+ public function shutdown(?CancellationInterface $cancellation = null): bool
+ {
+ if ($this->shutdownResult !== null) {
+ return $this->shutdownResult;
+ }
+ $this->shutdownResult = $this->processor->shutdown($cancellation);
+
+ return $this->shutdownResult;
+ }
+
+ public function forceFlush(?CancellationInterface $cancellation = null): bool
+ {
+ return $this->processor->forceFlush($cancellation);
+ }
+}