核心可观测性功能日志级别

日志级别

一个 trace 可能有大量 observation(数据模型)。你可以用 level 属性区分 observation 的重要性,从而控制 trace 的详细程度并突出错误与警告。可用的 level 有:DEBUGDEFAULTWARNINGERROR

除了 level,你还可以加上 statusMessage 提供额外上下文。

Trace 日志级别和 statusMessage

使用 @observe() 装饰器 时:

from langfuse import observe, get_client
 
@observe()
def my_function():
    langfuse = get_client()
 
    # ... processing logic ...
    # Update the current span with a warning level
    langfuse.update_current_span(
        level="WARNING",
        status_message="This is a warning"
    )

直接创建 span 或 generation 时:

from langfuse import get_client
 
langfuse = get_client()
 
# Using context managers (recommended)
with langfuse.start_as_current_observation(as_type="span", name="my-operation") as span:
    # Set level and status message on creation
    with span.start_as_current_observation(
        name="potentially-risky-operation",
        level="WARNING",
        status_message="Operation may fail"
    ) as risky_span:
        # ... do work ...
 
        # Or update level and status message later
        risky_span.update(
            level="ERROR",
            status_message="Operation failed with unexpected input"
        )
 
# You can also update the currently active span without a direct reference
with langfuse.start_as_current_observation(as_type="span", name="another-operation"):
    # ... some processing ...
    langfuse.update_current_span(
        level="DEBUG",
        status_message="Processing intermediate results"
    )

创建 generation 时也可以设置 level:

langfuse = get_client()
 
with langfuse.start_as_current_observation(
    as_type="generation",
    name="llm-call",
    model="gpt-4o",
    level="DEFAULT"  # Default level
) as generation:
    # ... make LLM call ...
 
    if error_detected:
        generation.update(
            level="ERROR",
            status_message="Model returned malformed output"
        )

按日志级别过滤 Trace

在查看单个 trace 时,你可以按日志级别过滤其中的 observation。

这个页面对你有帮助吗?