Skip to content

Logging functions

rerun

def log(entity_path, entity, *extra, timeless=False, recording=None, strict=None)

Log data to Rerun.

This is the main entry point for logging data to rerun. It can be used to log anything that implements the rerun.AsComponents interface, or a collection of ComponentBatchLike objects.

When logging data, you must always provide an entity_path for identifying the data. Note that the path prefix "rerun/" is considered reserved for use by the Rerun SDK itself and should not be used for logging user data. This is where Rerun will log additional information such as warnings.

The most common way to log is with one of the rerun archetypes, all of which implement the AsComponents interface.

For example, to log a 3D point:

rr.log("my/point", rr.Points3D(position=[1.0, 2.0, 3.0]))

The log function can flexibly accept an arbitrary number of additional objects which will be merged into the first entity so long as they don't expose conflicting components, for instance:

# Log three points with arrows sticking out of them,
# and a custom "confidence" component.
rr.log(
    "my/points",
    rr.Points3D([[0.2, 0.5, 0.3], [0.9, 1.2, 0.1], [1.0, 4.2, 0.3]], radii=[0.1, 0.2, 0.3]),
    rr.Arrows3D(vectors=[[0.3, 2.1, 0.2], [0.9, -1.1, 2.3], [-0.4, 0.5, 2.9]]),
    rr.AnyValues(confidence=[0.3, 0.4, 0.9]),
)

See also: rerun.log_components.

PARAMETER DESCRIPTION
entity_path

Path to the entity in the space hierarchy.

The entity path can either be a string (with special characters escaped, split on unescaped slashes) or a list of unescaped strings. This means that logging to "world/my\ image\!" is the same as logging to ["world", "my image!"].

See https://www.rerun.io/docs/concepts/entity-path for more on entity paths.

TYPE: str | list[str]

entity

Anything that implements the rerun.AsComponents interface, usually an archetype.

TYPE: AsComponents | Iterable[ComponentBatchLike]

*extra

An arbitrary number of additional component bundles implementing the rerun.AsComponents interface, that are logged to the same entity path.

TYPE: AsComponents | Iterable[ComponentBatchLike] DEFAULT: ()

timeless

If true, the logged components will be timeless.

Otherwise, the data will be timestamped automatically with log_time and log_tick. Additional timelines set by rerun.set_time_sequence, rerun.set_time_seconds or rerun.set_time_nanos will also be included.

TYPE: bool DEFAULT: False

recording

Specifies the rerun.RecordingStream to use. If left unspecified, defaults to the current active data recording, if there is one. See also: rerun.init, rerun.set_global_data_recording.

TYPE: RecordingStream | None DEFAULT: None

strict

If True, raise exceptions on non-loggable data. If False, warn on non-loggable data. if None, use the global default from rerun.strict_mode()

TYPE: bool | None DEFAULT: None