@@ -750,7 +750,7 @@ def emit(
750750 )
751751 if is_less_than_min_severity (record , self ._min_severity_level ):
752752 return
753- if should_drop_logs_for_trace_based (record , self ._trace_based ):
753+ if should_drop_logs_for_unsampled_traces (record , self ._trace_based ):
754754 return
755755
756756 log_data = LogData (record , self ._instrumentation_scope )
@@ -939,6 +939,17 @@ def std_to_otel(levelno: int) -> SeverityNumber:
939939def is_less_than_min_severity (
940940 record : LogRecord , min_severity : SeverityNumber
941941) -> bool :
942+ """Checks if the log record's severity number is less than the minimum severity level.
943+
944+ Args:
945+ record: The log record to be processed.
946+ min_severity: The minimum severity level.
947+
948+ Returns:
949+ True if the log record's severity number is less than the minimum
950+ severity level, False otherwise. Log records with an unspecified severity (i.e. `0`)
951+ are not affected by this parameter and therefore bypass minimum severity filtering.
952+ """
942953 if record .severity_number is not None :
943954 if (
944955 min_severity is not None
@@ -949,10 +960,25 @@ def is_less_than_min_severity(
949960 return False
950961
951962
952- def should_drop_logs_for_trace_based (
953- record : LogRecord , trace_state_enabled : bool
963+ def should_drop_logs_for_unsampled_traces (
964+ record : LogRecord , trace_based_flag : bool
954965) -> bool :
955- if trace_state_enabled :
966+ """Determines whether the logger should drop log records associated with unsampled traces.
967+
968+ If `trace_based` is `true`, log records associated with unsampled traces are dropped by the `Logger`.
969+ A log record is considered associated with an unsampled trace if it has a valid `SpanId` and its
970+ `TraceFlags` indicate that the trace is unsampled. A log record that isn't associated with a trace
971+ context is not affected by this parameter and therefore bypasses trace-based filtering.
972+
973+ Args:
974+ record: The log record to be processed.
975+ trace_based_flag: A boolean flag indicating whether trace-based filtering is enabled. If not explicitly set,
976+ the `trace_based` parameter is set to `false`
977+
978+ Returns:
979+ True if the log record should be dropped due to being associated with an unsampled trace.
980+ """
981+ if trace_based_flag :
956982 if record .context is not None :
957983 span = get_current_span (record .context )
958984 span_context = span .get_span_context ()
0 commit comments