Skip to content

Chore/real time logging order (#261)#266

Merged
Apehaenger merged 1 commit into
mainfrom
chore/real-time-logging-order2
Feb 5, 2026
Merged

Chore/real time logging order (#261)#266
Apehaenger merged 1 commit into
mainfrom
chore/real-time-logging-order2

Conversation

@Apehaenger
Copy link
Copy Markdown
Collaborator

@Apehaenger Apehaenger commented Feb 5, 2026

The current ROS logging is buffered. I.e. openmower logs show logs as buffered blocks but not in real-time as they occur.

This PR changes the buffering to only 1 line so that log entries get shown when they occur.

I tested with OMOSv2, but did not tested with OMOSv1.

Summary by CodeRabbit

  • Chores
    • Improved container startup logging configuration to ensure real-time visibility of application output.
    • Optimized environment setup with streamlined version information sourcing and unbuffered I/O settings.

The current ROS logging is buffered. I.e. `openmower logs` show logs as
buffered blocks but not in real-time as they occur.

This PR changes the buffering to only 1 line so that log entries get
shown when they occur.

I tested with OMOSv2, but did not tested with OMOSv1.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

* **Bug Fixes**
* Improved real-time log display in Docker containers for better
visibility during application execution.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 5, 2026

Walkthrough

Both Docker entrypoint scripts now source version information earlier and enable unbuffered I/O logging via ROSCONSOLE_STDOUT_LINE_BUFFERED and PYTHONUNBUFFERED environment variables. The legacy script consolidates duplicate sourcing. No functional logic changes.

Changes

Cohort / File(s) Summary
Docker Entrypoint Scripts
docker/openmower_entrypoint.legacy.sh, docker/openmower_entrypoint.sh
Added sourcing of /opt/open_mower_ros/version_info.env at the start of setup. Introduced unbuffered logging environment variables (ROSCONSOLE_STDOUT_LINE_BUFFERED=1, PYTHONUNBUFFERED=1). Legacy script removes one duplicate sourcing line.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 Version info hops in early now,
Logs flow unbuffered—oh, what a bow!
Duplicates cleared from the legacy past,
Docker entrypoints, lean and fast! 🚀

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: implementing real-time logging order by configuring line-buffered output and unbuffered I/O in the entrypoint scripts.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/real-time-logging-order2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Apehaenger Apehaenger merged commit 303a0e1 into main Feb 5, 2026
6 checks passed
@Apehaenger Apehaenger deleted the chore/real-time-logging-order2 branch February 5, 2026 19:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant