Solana programs output logs as they run. You can obtain these from:

and other sources.

This data has a limitation that all users of this data must be aware of: logs are truncated if their total size per transaction exceeds 10kb.

The practical consequence on this is that data consumers cannot be fully certain that they will always receive a log message whenever the relevant program code is executed. Whether or not this is acceptable depends on how the data is used.

To avoid having to deal with this issue we recommend using instructions and token balance updates in place of logs whenever possible. Anchor developed a special type of no-op instructions that can be used to mark execution events reliably, similar to how event logs work on EVM. If you program emits these, use them instead of execution logs.

Solana programs output logs as they run. You can obtain these from:

and other sources.

This data has a limitation that all users of this data must be aware of: logs are truncated if their total size per transaction exceeds 10kb.

The practical consequence on this is that data consumers cannot be fully certain that they will always receive a log message whenever the relevant program code is executed. Whether or not this is acceptable depends on how the data is used.

To avoid having to deal with this issue we recommend using instructions and token balance updates in place of logs whenever possible. Anchor developed a special type of no-op instructions that can be used to mark execution events reliably, similar to how event logs work on EVM. If you program emits these, use them instead of execution logs.