feat(mw/log): add Linux syslog backend for LogMode::kSystem - #271
btirunagaru wants to merge 2 commits into
Conversation
License Check Results🚀 The license check job ran with the Bazel command: bazel run --lockfile_mode=error //:license-checkStatus: Click to expand output |
rmaddikery
left a comment
There was a problem hiding this comment.
Thanks for the contribution. I would first request the following:
Component requirements updated/added to clarify the expectation and understand how it could be achieved. Hence additionally supporting static/dynamic diagrams. Once this is finalized we can look into the source files. Please note that we are still in the migration phase of the repository from an internal one. Until we have established the quality gating and traceability of the requirements, no changes are merged here directly. In that regard we ask you for your patience. If you have questions please reach out to us in the Logging CFT: https://github.com/orgs/eclipse-score/discussions/3192
updated the component requirements and other documents as requested. please let us know the timeline for submission of this change. we require this support to deploy the product on the linux aarch64 on our targets- as we cannot ship the component with console logs enabled in our PDLC. |
Timeline is v1.0 as per: https://github.com/eclipse-score/score/milestones |
yes, this is needed to meet our internal timelines. I would appreciate ,if we can accommodate to release this in 0.9. |
|
@rmaddikery Can you please review this and take to the next steps ? would like to get this get merged as soon as practical. |
5a91545 to
e3196e6
Compare
Done addressed the comment about and cleaned up and squashed it. |
|
The created documentation from the pull request is available at: docu-html |
e3196e6 to
077138a
Compare
95ec947 to
3510aaa
Compare
3510aaa to
8229a6c
Compare
8229a6c to
83034c0
Compare
Adds a Linux syslog mw::log backend that fills the LogMode::kSystem slot on Linux (HGY aarch64 and x86 host), mirroring the existing QNX slog backend exactly. slog is target_compatible_with os:qnx and this new backend is target_compatible_with os:linux, so exactly one compiles per build and both can safely reuse the same kSystem slot without any LogMode/dispatch changes. - Add SyslogBackend and SyslogRecorderFactory using the companion score::os::Syslog wrapper. - Map mw::log levels to POSIX syslog priorities and format the application/context identifiers with the log payload. - Register the Linux backend for LogMode::kSystem. - Add Linux backend and recorder-factory unit tests using the syslog mock. - Add requirements, static/dynamic diagrams, and detailed-design documentation for the Linux backend. - Pin the temporary cross-PR baselibs dependency to the rebased syslog implementation commit. Verification: - Syslog unit tests passed before rebase. - Generated MODULE.bazel.lock is up to date. - git diff --check passed.
Update logging dependencies to the target paths provided by the current baselibs main branch. - Move string_literal from score/memory to score/string_manipulation. - Move score_log from src/log to score/log_rust.
Description
Adds a Linux syslog(3) backend for mw::log's LogMode::kSystem slot
(SyslogBackend + SyslogRecorderFactory + BackendRegistrant), following
the existing QNX slog backend's design. Includes unit tests against
score_baselibs//score/os/mocklib:syslog_mock covering log-level to
syslog-priority mapping and slot lifecycle.
Depends on the companion score::os::Syslog OS wrapper contributed to
baselibs (eclipse-score/baselibs#501,
@score_baselibs//score/os:syslog) — should merge/release together.
Related ticket
closes #270
Relates to eclipse-score/baselibs#501, implemented in eclipse-score/baselibs#502