Implementation:BerriAI Litellm PromptLayer Logger
| Attribute | Value |
|---|---|
| Sources | litellm/integrations/prompt_layer.py
|
| Domains | Logging, Prompt Management, Integrations |
| Last Updated | 2026-02-15 16:00 GMT |
Overview
The PromptLayerLogger sends LLM completion events to the PromptLayer platform for request tracking and metadata logging.
Description
PromptLayerLogger is a simple logger that posts LLM call data to PromptLayer's REST API (/rest/track-request). On each success event, it sends the model name, messages, optional parameters, response object, timestamps, API key, and any PromptLayer-specific tags (extracted from metadata["pl_tags"]). If PromptLayer returns a request_id, the logger also posts additional metadata to the /rest/track-metadata endpoint. The response object is converted from Pydantic models to dictionaries for JSON serialization. This is one of the simpler integrations in LiteLLM -- it does not extend CustomLogger or CustomBatchLogger, instead providing a standalone log_event() method.
Usage
Import and register PromptLayerLogger when you want to track LLM requests in PromptLayer. Requires PROMPTLAYER_API_KEY environment variable.
Code Reference
Source Location
litellm/integrations/prompt_layer.py
Signature
class PromptLayerLogger:
def __init__(self)
Import
from litellm.integrations.prompt_layer import PromptLayerLogger
I/O Contract
Inputs
| Parameter | Type | Required | Description |
|---|---|---|---|
| (none) | -- | -- | Constructor takes no arguments. Reads PROMPTLAYER_API_KEY from environment.
|
Key Methods
| Method | Returns | Description |
|---|---|---|
log_event(kwargs, response_obj, start_time, end_time, print_verbose) |
None |
Logs the completion event to PromptLayer and optionally posts metadata. |
Method parameters:
| Parameter | Type | Description |
|---|---|---|
kwargs |
dict |
Request kwargs containing model, messages, optional_params, and litellm_params.
|
response_obj |
Any |
The LLM response object (ModelResponse or dict). |
start_time |
datetime |
Request start time. |
end_time |
datetime |
Request end time. |
print_verbose |
Callable |
Verbose logging function. |
Outputs
| Output | Type | Description |
|---|---|---|
| Side effect | HTTP POST | Posts to https://api.promptlayer.com/rest/track-request and optionally /rest/track-metadata.
|
Usage Examples
import litellm
# Register the callback
litellm.success_callback = ["promptlayer"]
response = litellm.completion(
model="gpt-4",
messages=[{"role": "user", "content": "Hello!"}],
metadata={
"pl_tags": ["production", "experiment-v2"],
"custom_key": "custom_value",
},
)
# Direct instantiation
from litellm.integrations.prompt_layer import PromptLayerLogger
logger = PromptLayerLogger()
logger.log_event(
kwargs={"model": "gpt-4", "messages": [...], "optional_params": {}, "litellm_params": {"metadata": {}}},
response_obj=response,
start_time=start_time,
end_time=end_time,
print_verbose=print,
)
Related Pages
- Implementation:BerriAI_Litellm_OpenMeter_Logger - another simple logging integration
- Implementation:BerriAI_Litellm_Braintrust_Logger - a more feature-rich observability integration
- Implementation:BerriAI_Litellm_Humanloop_Integration - another prompt management integration