![]() |
VOOZH | about |
Bases: Logger
Emits the ReadWriteLogRecord by setting instrumentation scope
and forwarding to the processor.
Bases: LoggerProvider
Returns a Logger for use by the given instrumentation library.
For any two calls with identical parameters, it is undefined whether the same or different Logger instances are returned.
This function may return different Logger types (e.g. a no-op logger vs. a functional logger).
name (str) –
The name of the instrumenting module, package or class.
This should not be the name of the module, package or class that is
instrumented but the name of the code doing the instrumentation.
E.g., instead of "requests", use
"opentelemetry.instrumentation.requests".
For log sources which define a logger name (e.g. logging.Logger.name) the Logger Name should be recorded as the instrumentation scope name.
version (Optional[str]) – Optional. The version string of the
instrumenting library. Usually this should be the same as
importlib.metadata.version(instrumenting_library_name).
schema_url (Optional[str]) – Optional. Specifies the Schema URL of the emitted telemetry.
attributes (Optional[Mapping[str, AnyValue]]) – Optional. Specifies the instrumentation scope attributes to
associate with emitted telemetry.
Registers a new LogRecordProcessor for this LoggerProvider instance.
The log processors are invoked in the same order they are registered.
Bases: Handler
A handler class which writes logging records, in OTLP format, to a network destination or file. Supports signals from the logging module. https://docs.python.org/3/library/logging.html
Bases: LogRecordLimits
Bases: object
This class is based on a SpanLimits class in the Tracing module.
This class represents the limits that should be enforced on recorded data such as events, links, attributes etc.
This class does not enforce any limits itself. It only provides a way to read limits from env, default values and from user provided arguments.
All limit arguments must be either a non-negative integer or None.
All limit arguments are optional.
If a limit argument is not set, the class will try to read its value from the corresponding environment variable.
If the environment variable is not set, the default value, if any, will be used.
Limit precedence:
If a model specific limit is set, it will be used.
Else if the corresponding global limit is set, it will be used.
Else if the model specific limit has a default value, the default value will be used.
Else if the global limit has a default value, the default value will be used.
max_attributes (Optional[int]) – Maximum number of attributes that can be added to a span, event, and link.
Environment variable: OTEL_ATTRIBUTE_COUNT_LIMIT
Default: {_DEFAULT_OTEL_ATTRIBUTE_COUNT_LIMIT}
max_attribute_length (Optional[int]) – Maximum length an attribute value can have. Values longer than
the specified length will be truncated.
Bases: ABC
Interface to hook the log record emitting action.
Log processors can be registered directly using
LoggerProvider.add_log_record_processor() and they are invoked
in the same order as they were registered.
Implementers of custom log processors should be aware of the following:
According to the OpenTelemetry error handling principles, the SDK should
not throw unhandled exceptions at runtime. When implementing a custom
LogRecordProcessor, it is the processor’s responsibility to handle
any exceptions that may be raised by the exporter’s export() method.
The LogRecordExporter.export() method may raise exceptions (e.g.,
network errors, timeouts). If these exceptions are not caught, they will
propagate up and potentially crash the application.
Custom processor implementations should wrap exporter calls in a
try/except block. See SimpleLogRecordProcessor for a reference
implementation:
defon_emit(self, log_record: ReadWriteLogRecord): try: self._exporter.export((log_record,)) except Exception: # pylint: disable=broad-exception-caught logger.exception("Exception while exporting logs.")
The BatchLogRecordProcessor handles this implicitly since export
operations occur in a background thread where exceptions cannot bubble
up to the caller.
Emits the ReadWriteLogRecord.
Implementers should handle any exceptions raised during log processing to prevent application crashes. See the class docstring for details on error handling expectations.
Called when a opentelemetry.sdk._logs.Logger is shutdown
Bases: UserWarning
Custom warning to indicate dropped log attributes due to limits.
This class is used to filter and handle these specific warnings separately from other warnings, ensuring that they are only shown once without interfering with default user warnings.
Bases: object
Readable LogRecord should be kept exactly in-sync with ReadWriteLogRecord, only difference is the frozen=True param.
Optional[InstrumentationScope]=NoneOptional[LogRecordLimits]=NoneBases: object
A ReadWriteLogRecord instance represents an event being logged. ReadWriteLogRecord instances are created and emitted via Logger every time something is logged. They contain all the information pertinent to the event being logged.
Optional[InstrumentationScope]=NoneLogRecordLimits