Logging and tracing
How to use the built-in logging and tracing system.
The run log shows you exactly what happened in every run of your tasks. It is comprised of logs, traces and spans.
Logs
You can use console.log()
, console.error()
, etc as normal and they will be shown in your run log. This is the standard function so you can use it as you would in any other JavaScript or TypeScript code. Logs from any functions/packages will also be shown.
logger
We recommend that you use our logger
object which creates structured logs. Structured logs will make it easier for you to search the logs to quickly find runs.
Tracing and spans
Tracing is a way to follow the flow of your code. Itβs very useful for debugging and understanding how your code is working, especially with long-running or complex tasks.
Trigger.dev uses OpenTelemetry tracing under the hood. With automatic tracing for many things like task triggering, task attempts, HTTP requests, and more.
Automatic instrumentation
Name | Description |
---|---|
Task triggers | Task triggers. |
Task attempts | Task attempts. |
HTTP requests | HTTP requests made by your code. |
OpenAI | OpenAI SDK calls. |
We want to provide automatic instrumentation for as many things as possible. Please do request any automatic instrumentation you would like to see.
Add custom traces
If you want to add custom traces to your code, you can use the logger.trace
function. It will create a new OTEL trace and you can set attributes on it.