Repo symbol

rcl_logging_syslog repository

rcl_logging_syslog

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version humble
Last Updated 2025-06-05
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rcl_logging_syslog 0.1.0

README

humble jazzy kilted 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
Rolling Ridley ✅ rolling (Development)
Kilted Kaiju ✅ kilted
Jazzy Jalisco ✅ jazzy
Humble Hawksbill ✅ humble

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.

The following commands require root permission. /var/log/ros is the root directory for rcl_logging_syslog, all logs are expected to be stored under this root directory.

mkdir -p /var/log/ros
chown syslog:adm /var/log/ros

[!WARNING] For production, user needs to configure appropriate group if necessary but owner should be syslog. Otherwise rsyslogd may meet the permission problem for the file system.

If you are running the application on host system, check the rsyslog system service.

systemctl status rsyslog

If you are running the application on container environment, start the rsyslogd daemon process.

/usr/sbin/rsyslogd -n -iNONE

Or you prefer to use rsyslogd in the host system from the application in the container, you need to bind the /dev/log to the container via -v /dev/log:/dev/log, so that the application running in the container can open the Unix Domain Socket for rsyslogd running in the host system. In this setting, all rsyslogd configuration needs to be set in the host system.

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Contributors must sign-off each commit by adding a Signed-off-by: ... line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the Developer Certificate of Origin (DCO).

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~ Contributors must sign-off each commit by adding a `Signed-off-by: ...` line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
Repo symbol

rcl_logging_syslog repository

rcl_logging_syslog

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version jazzy
Last Updated 2025-06-05
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rcl_logging_syslog 0.1.0

README

humble jazzy kilted 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
Rolling Ridley ✅ rolling (Development)
Kilted Kaiju ✅ kilted
Jazzy Jalisco ✅ jazzy
Humble Hawksbill ✅ humble

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.

The following commands require root permission. /var/log/ros is the root directory for rcl_logging_syslog, all logs are expected to be stored under this root directory.

mkdir -p /var/log/ros
chown syslog:adm /var/log/ros

[!WARNING] For production, user needs to configure appropriate group if necessary but owner should be syslog. Otherwise rsyslogd may meet the permission problem for the file system.

If you are running the application on host system, check the rsyslog system service.

systemctl status rsyslog

If you are running the application on container environment, start the rsyslogd daemon process.

/usr/sbin/rsyslogd -n -iNONE

Or you prefer to use rsyslogd in the host system from the application in the container, you need to bind the /dev/log to the container via -v /dev/log:/dev/log, so that the application running in the container can open the Unix Domain Socket for rsyslogd running in the host system. In this setting, all rsyslogd configuration needs to be set in the host system.

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Contributors must sign-off each commit by adding a Signed-off-by: ... line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the Developer Certificate of Origin (DCO).

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~ Contributors must sign-off each commit by adding a `Signed-off-by: ...` line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
Repo symbol

rcl_logging_syslog repository

rcl_logging_syslog

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version kilted
Last Updated 2025-06-05
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rcl_logging_syslog 0.1.0

README

humble jazzy kilted 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
Rolling Ridley ✅ rolling (Development)
Kilted Kaiju ✅ kilted
Jazzy Jalisco ✅ jazzy
Humble Hawksbill ✅ humble

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.

The following commands require root permission. /var/log/ros is the root directory for rcl_logging_syslog, all logs are expected to be stored under this root directory.

mkdir -p /var/log/ros
chown syslog:adm /var/log/ros

[!WARNING] For production, user needs to configure appropriate group if necessary but owner should be syslog. Otherwise rsyslogd may meet the permission problem for the file system.

If you are running the application on host system, check the rsyslog system service.

systemctl status rsyslog

If you are running the application on container environment, start the rsyslogd daemon process.

/usr/sbin/rsyslogd -n -iNONE

Or you prefer to use rsyslogd in the host system from the application in the container, you need to bind the /dev/log to the container via -v /dev/log:/dev/log, so that the application running in the container can open the Unix Domain Socket for rsyslogd running in the host system. In this setting, all rsyslogd configuration needs to be set in the host system.

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Contributors must sign-off each commit by adding a Signed-off-by: ... line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the Developer Certificate of Origin (DCO).

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~ Contributors must sign-off each commit by adding a `Signed-off-by: ...` line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
Repo symbol

rcl_logging_syslog repository

rcl_logging_syslog

Repository Summary

Checkout URI https://github.com/fujitatomoya/rcl_logging_syslog.git
VCS Type git
VCS Version rolling
Last Updated 2025-06-10
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rcl_logging_syslog 0.1.1

README

humble jazzy kilted 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
Rolling Ridley ✅ rolling (Development)
Kilted Kaiju ✅ kilted
Jazzy Jalisco ✅ jazzy
Humble Hawksbill ✅ humble

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.

The following commands require root permission. /var/log/ros is the root directory for rcl_logging_syslog, all logs are expected to be stored under this root directory.

mkdir -p /var/log/ros
chown syslog:adm /var/log/ros

[!WARNING] For production, user needs to configure appropriate group if necessary but owner should be syslog. Otherwise rsyslogd may meet the permission problem for the file system.

If you are running the application on host system, check the rsyslog system service.

systemctl status rsyslog

If you are running the application on container environment, start the rsyslogd daemon process.

/usr/sbin/rsyslogd -n -iNONE

Or you prefer to use rsyslogd in the host system from the application in the container, you need to bind the /dev/log to the container via -v /dev/log:/dev/log, so that the application running in the container can open the Unix Domain Socket for rsyslogd running in the host system. In this setting, all rsyslogd configuration needs to be set in the host system.

File truncated at 100 lines see the full file

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

Contributors must sign-off each commit by adding a Signed-off-by: ... line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the Developer Certificate of Origin (DCO).

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. ~~~ Contributors must sign-off each commit by adding a `Signed-off-by: ...` line to commit messages to certify that they have the right to submit the code they are contributing to the project according to the [Developer Certificate of Origin (DCO)](https://developercertificate.org/).
Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository

Repo symbol

rcl_logging_syslog repository