View Source Nexlm.Debug (Nexlm v0.1.15)
Debug logging utilities for Nexlm requests and responses.
Enables detailed logging of HTTP requests and responses to help with debugging provider integrations, caching behavior, and other issues.
Configuration
Enable debug logging in your runtime configuration:
config :nexlm, :debug, trueOr set the environment variable:
NEXLM_DEBUG=trueLog Output
When enabled, logs will include:
- Provider being called
- Full HTTP request (method, URL, headers, body)
- Full HTTP response (status, headers, body)
- Request/response timing
- Any transformations applied to messages
Examples
# Enable debug logging
Application.put_env(:nexlm, :debug, true)
# Make a request - will now show detailed logs
Nexlm.complete("anthropic/claude-3-haiku-20240307", messages)
# Logs will show:
# [debug] [Nexlm] Provider: anthropic, Model: claude-3-haiku-20240307
# [debug] [Nexlm] Request: POST https://api.anthropic.com/v1/messages
# [debug] [Nexlm] Headers: %{"x-api-key" => "[REDACTED]", ...}
# [debug] [Nexlm] Body: %{model: "claude-3-haiku-20240307", messages: [...]}
# [debug] [Nexlm] Response: 200 OK (342ms)
# [debug] [Nexlm] Response Headers: %{"content-type" => "application/json", ...}
# [debug] [Nexlm] Response Body: %{content: [...], role: "assistant"}
Summary
Functions
Check if debug logging is enabled.
Log a debug message if debug logging is enabled.
Log request details if debug logging is enabled.
Log response details if debug logging is enabled.
Log message transformation if debug logging is enabled.
Time a function call and log the duration if debug logging is enabled.
Functions
Check if debug logging is enabled.
Checks both application configuration and environment variables.
Log a debug message if debug logging is enabled.
Log request details if debug logging is enabled.
Log response details if debug logging is enabled.
Log message transformation if debug logging is enabled.
Time a function call and log the duration if debug logging is enabled.