{"ref":"artifact:xexer-abap-message-logger","page":"/artifacts/xexer-abap-message-logger","json":"/artifacts/xexer-abap-message-logger.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"xexer-abap-message-logger","name":"abap-message-logger","artifact_type":"package","ecosystem":"abap","flavors":[{"key":"abap-cloud","source":{"url":"https://github.com/Xexer/abap-message-logger","title":"Xexer/abap-message-logger — README","checked":"2026-09-14","quote":"Support of ABAP Cloud (ABAP Environment, Public Cloud and Private Cloud S/4HANA 2023+)"}}],"domain":"operations-and-runtime","origin_ring":"independent","description":{"one_line":"A message logger for ABAP Cloud that collects T100 messages, BAPIRET2 structures, exceptions and plain text before saving them to the Application Log.","short":"Message logger for ABAP Cloud that saves to the Application Log","what_it_solves":"A logger class for the most use-cases in ABAP Cloud, focused on collecting messages and saving them to the Application Log. It accepts a T100 message, a BAPIRET2 structure or table, a caught exception including stacked ones, or a plain text string, and can build its instance through a factory or reuse one through a singleton. Support for RAP exceptions and a second database connection are included; context data is listed as planned rather than shipped. It runs on [ABAP Environment](artifact:btp-abap-environment), Public Cloud and Private Cloud S/4HANA 2023 and later."},"links":{"repo":"https://github.com/Xexer/abap-message-logger","homepage":"https://software-heroes.com/en/"},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:logging","what_it_does":"Collects T100 messages, BAPIRET2 structures, caught exceptions and plain text into a log object, then saves them to the Application Log.","sources":[{"url":"https://github.com/Xexer/abap-message-logger","title":"Xexer/abap-message-logger — README","checked":"2026-09-14","quote":"A logger class for the most use-cases in ABAP Cloud."}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"maintainers":["actor:xexer"],"contributors":["actor:xexer"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"fair","evidence":"pushed 2025-12, not archived"}],"compatibility":[{"label":"Declared for","tier":"fair","evidence":"nothing declared"},{"label":"Survived majors","tier":"unknown","evidence":"not read on ABAP: its lines run side by side"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"poor","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 6 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":17,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":17,"forks":1,"open_issues":2,"archived":false,"pushed_at":"2025-12-19","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2025-07-23T07:49:54Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":5833,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2025-07-23","last_commit":"2025-12-19","commits":24,"contributors":1,"readme_path":"README.md","readme_sha":"c985200449d9dbce95c29ba32304623ba79931f0","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:xexer","name":"Xexer","json":"/actors/xexer.json"}],"contributors":[{"ref":"actor:xexer","name":"Xexer","json":"/actors/xexer.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}