Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
jazzy

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version jazzy
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
kilted

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version kilted
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
lyrical

Package Summary

Version 0.2.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version rolling
Last Updated 2026-09-13
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rcl_logging_syslog

0.2.0 (2026-09-09)

  • mergify: do not auto-backport when an explicit backport-* label is set (#224) The "automatic backport to all supported distribution" rule matched every merged PR based on rolling, so a PR labeled backport-lyrical (e.g. #179) was backported to all distribution branches by the automatic rule firing in parallel with the label rule. Exclude PRs carrying any backport-* label from the automatic rule so explicit labels select the targets. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>

  • Update README.md links to reflect new ROS documentation structure (#179)

    • Update README.md links to reflect new ROS documentation structure

    * Apply batched suggestions from code review Co-authored-by: Daisuke Kato <<kato.daisuke429@gmail.com>> ---------Co-authored-by: Tomoya Fujita <<tomoya.fujita825@gmail.com>>

  • skip claude code review for pull requests from forks. (#215) GitHub runs pull_request workflows from forks with a read-only token, no repository secrets and no OIDC token, so claude-code-action cannot authenticate and fails with "Could not fetch an OIDC token". See https://github.com/fujitatomoya/rcl_logging_syslog/pull/179. Switching to pull_request_target is not an option: the action also requires the triggering actor to have write access, and bypassing that with allowed_non_write_users would let untrusted PR content drive Claude with the repository's credentials. Skip the job when the PR head is a fork instead, as the former Gemini dispatch workflow did. Maintainers can still request a review on such a PR by commenting "@claude", which runs claude.yml in the base repository with the maintainer as the actor.

  • remove gemini actinos. (#210)

  • use local marketplace plugins because of company rules. (#205)

  • use official claude code marketplace. (#200)

  • allow mergifyio to start the claude action app. (#195)

  • Add claude GitHub actions 1788742709211 (#186)

    • "Claude PR Assistant workflow"
    • "Claude Code Review workflow"
  • support lyrical luth. (#183)

  • enable ros2-abi-action. (#163)

    • enable ros2-abi-action.
    • upgrade ros2-abi-action.
    • always use ros2-abi-action@latest for now.
    • retrigger CI to pick up fixed ros2-abi-action

    * retrigger CI to pick up ros2-abi-action nounset fix ---------

  • Bump actions/stale from 10 to 11 in the github-actions group (#172) Bumps the github-actions group with 1 update: [actions/stale](https://github.com/actions/stale). Updates [actions/stale]{.title-ref} from 10 to 11

    - [Commits](https://github.com/actions/stale/compare/v10...v11) ---updated-dependencies:

    - dependency-name: actions/stale dependency-version: '11' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • Bump actions/setup-python from 6 to 7 in the github-actions group (#168) Bumps the github-actions group with 1 update: [actions/setup-python](https://github.com/actions/setup-python). Updates [actions/setup-python]{.title-ref} from 6 to 7

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
rolling

Package Summary

Version 0.2.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version rolling
Last Updated 2026-09-13
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package rcl_logging_syslog

0.2.0 (2026-09-09)

  • mergify: do not auto-backport when an explicit backport-* label is set (#224) The "automatic backport to all supported distribution" rule matched every merged PR based on rolling, so a PR labeled backport-lyrical (e.g. #179) was backported to all distribution branches by the automatic rule firing in parallel with the label rule. Exclude PRs carrying any backport-* label from the automatic rule so explicit labels select the targets. Co-authored-by: Claude Fable 5 <<noreply@anthropic.com>>

  • Update README.md links to reflect new ROS documentation structure (#179)

    • Update README.md links to reflect new ROS documentation structure

    * Apply batched suggestions from code review Co-authored-by: Daisuke Kato <<kato.daisuke429@gmail.com>> ---------Co-authored-by: Tomoya Fujita <<tomoya.fujita825@gmail.com>>

  • skip claude code review for pull requests from forks. (#215) GitHub runs pull_request workflows from forks with a read-only token, no repository secrets and no OIDC token, so claude-code-action cannot authenticate and fails with "Could not fetch an OIDC token". See https://github.com/fujitatomoya/rcl_logging_syslog/pull/179. Switching to pull_request_target is not an option: the action also requires the triggering actor to have write access, and bypassing that with allowed_non_write_users would let untrusted PR content drive Claude with the repository's credentials. Skip the job when the PR head is a fork instead, as the former Gemini dispatch workflow did. Maintainers can still request a review on such a PR by commenting "@claude", which runs claude.yml in the base repository with the maintainer as the actor.

  • remove gemini actinos. (#210)

  • use local marketplace plugins because of company rules. (#205)

  • use official claude code marketplace. (#200)

  • allow mergifyio to start the claude action app. (#195)

  • Add claude GitHub actions 1788742709211 (#186)

    • "Claude PR Assistant workflow"
    • "Claude Code Review workflow"
  • support lyrical luth. (#183)

  • enable ros2-abi-action. (#163)

    • enable ros2-abi-action.
    • upgrade ros2-abi-action.
    • always use ros2-abi-action@latest for now.
    • retrigger CI to pick up fixed ros2-abi-action

    * retrigger CI to pick up ros2-abi-action nounset fix ---------

  • Bump actions/stale from 10 to 11 in the github-actions group (#172) Bumps the github-actions group with 1 update: [actions/stale](https://github.com/actions/stale). Updates [actions/stale]{.title-ref} from 10 to 11

    - [Commits](https://github.com/actions/stale/compare/v10...v11) ---updated-dependencies:

    - dependency-name: actions/stale dependency-version: '11' dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions ... Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

  • Bump actions/setup-python from 6 to 7 in the github-actions group (#168) Bumps the github-actions group with 1 update: [actions/setup-python](https://github.com/actions/setup-python). Updates [actions/setup-python]{.title-ref} from 6 to 7

File truncated at 100 lines see the full file

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.
Package symbol

rcl_logging_syslog package from rcl_logging_syslog repo

rcl_logging_syslog

ROS Distro
humble

Package Summary

Version 0.1.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2026-09-13
Dev Status MAINTAINED
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Implementation of rcl_logging API for an syslog/rsyslog backend.

Maintainers

  • Tomoya Fujita

Authors

  • Tomoya Fujita

humble jazzy kilted lyrical rolling nightly

rcl_logging_syslog 🚢🚀🚂

rcl_logging_syslog is alternative logging backend implementation that can be used for ROS 2 application via rcl_logging_interface.

rcl_logging_syslog uses SYSLOG(3) to send the log data to rsyslog a.k.a rocket-fast system for log processing 🚀.

The main objective is that Enabling ROS 2 logging system with Cloud-Native Log Management and Observability.

see overview slide deck for more information.

Motivation

The logging data is critical especially for entire system observability and status, so that application can alert the administrator or even give the feedback to the system with adjusting the parameter. This importance rises once it comes to robotics and robot application, especially distributed system such as ROS 2 or edge computing because we must be able to specify what went wrong in the 1st place with these logging data.

rsyslog is available in default Ubuntu distribution managed by system service, performative, and many configuration supported including log data pipeline. So that user can choose the logging configuration depending on the application requirement and use case, sometimes file system sink, sometimes forwarding to remote rsyslogd, or even FluentBit.

FluentBit is a Fast Log Processor and Forwarder part of Graduated Fluentd Ecosystem and a CNCF sub-project.

Demonstration

See how it works 🔥

  • rsyslog / FluebtBit

https://github.com/user-attachments/assets/bdb05bf7-92b2-4b9a-8f20-3d3b803a7a86

  • rsyslog / Fluentd / Loki / Grafana

https://github.com/user-attachments/assets/4a1aae42-5c55-4f31-9198-8c7c246244ca

Tutorials

Supported ROS Distribution

Distribution Supported Branch Dynamic Loading
Rolling Ridley ✅ rolling (Development) ✅
Lyrical Luth ✅ lyrical ✅
Kilted Kaiju ✅ kilted ❌
Jazzy Jalisco ✅ jazzy ❌
Humble Hawksbill ✅ humble ❌

rcl_logging_implementation

Starting with Lyrical Luth, ROS 2 introduces rcl_logging_implementation, a package that enables runtime dynamic loading of logging backends, similar to how rmw_implementation works for middleware selection. This abstraction layer allows users to switch between different logging implementations (such as rcl_logging_spdlog, rcl_logging_noop, or rcl_logging_syslog) without rebuilding RCL or application code.

See the ROS 2 Logging Documentation for more details.

Runtime Dynamic Loading vs Static Linking

The logging system supports two build configurations:

Dynamic Loading (Default, Lyrical or later)

By default, rcl links against rcl_logging_implementation, which dynamically loads the logging backend at runtime. This approach provides maximum flexibility, allowing the logging implementation to be changed via the RCL_LOGGING_IMPLEMENTATION environment variable without recompilation.

  • The logging implementation is loaded as a shared library at runtime.
  • No rebuild of rcl is required to switch between logging implementations.
  • Simply build rcl_logging_syslog and set the environment variable to use it.

Static Linking (Kilted or older distributions)

For Kilted, Jazzy, and Humble distributions, the rcl_logging_implementation package is not available. Users must rebuild rcl with the RCL_LOGGING_IMPLEMENTATION CMake/environment variable set at build time to statically link rcl_logging_syslog.

  • The specified implementation is statically linked into rcl at build time.
  • Runtime switching is NOT available.
  • Requires rebuilding rcl whenever you want to change the logging backend.

Installation

Prerequisites

rcl_logging_syslog requires rsyslog package, which Ubuntu should have already in default. But if you are using container, the situation is bit different from host system since there is no system services or rsyslogd is running by default. In the case of container, we need to install rsyslog packages in the container root file system.

[!NOTE] We can enable the container with host system privileges but that is NOT recommended, especially for security.

### Install rsyslog package
apt install rsyslog

  • create ros directory for rsyslog.

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rcl_logging_syslog at Robotics Stack Exchange