summaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/api/Logs/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/open-telemetry/api/Logs/README.md')
-rw-r--r--vendor/open-telemetry/api/Logs/README.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/vendor/open-telemetry/api/Logs/README.md b/vendor/open-telemetry/api/Logs/README.md
new file mode 100644
index 000000000..d0bdb923e
--- /dev/null
+++ b/vendor/open-telemetry/api/Logs/README.md
@@ -0,0 +1,19 @@
+# Logs API
+
+This `Logger` API is not designed to be used by application developers, but rather by library developers for the purpose
+of integrating existing logging libraries with OpenTelemetry.
+
+## Logging from 3rd party loggers
+
+3rd party loggers should log to OpenTelemetry in accordance with the
+[logs bridge API](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/bridge-api.md)
+specification.
+
+This means that a "log appender" in the 3rd party logging library (sometimes known as a "handler") should:
+- accept an `OpenTelemetry\API\Logs\LoggerProviderInterface`, or obtain a globally registered one from `OpenTelemetry\API\Instrumentation\Globals`
+- obtain a `Logger` from the logger provider (optionally adding any resources that should be associated with logs emitted)
+- convert logs from its own log format into OpenTelemetry's `LogRecord` format
+- send the logs to OpenTelemetry via `Logger::logRecord()`
+
+See [monolog-otel-integration](/examples/logs/features/monolog-otel-integration.php) for an example.
+