feat(mw/log): add Linux syslog backend for LogMode::kSystem - #271
feat(mw/log): add Linux syslog backend for LogMode::kSystem#271btirunagaru wants to merge 1 commit 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. |
|
@btirunagaru Please cleanup the commits (clean history; ideally squash) and then I will import it and sync it back as discussed over the meeting. |
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. Verification: - Existing PR tests and checks passed before history cleanup. - The final squashed diff will be checked with git diff --check.
6741251 to
7bbbc03
Compare
@rmaddikery done -squashed both PRs. |
| { | ||
| RecordProperty("Description", "Verifies the ability of reserving slot."); | ||
| RecordProperty("TestingTechnique", "Requirements-based test"); | ||
| RecordProperty("DerivationTechnique", "Analysis of requirements"); |
There was a problem hiding this comment.
A Requirements-based test needs to be linked. E.g.:
@btirunagaru please rebase and push again. Additionally fix: |
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