{"ref":"artifact:franzreitmayer-abap-logging","page":"/artifacts/franzreitmayer-abap-logging","json":"/artifacts/franzreitmayer-abap-logging.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"franzreitmayer-abap-logging","name":"ABAP_LOGGING","artifact_type":"package","ecosystem":"abap","flavors":[{"key":"standard-abap","source":{"url":"https://github.com/franzreitmayer/ABAP_LOGGING","title":"franzreitmayer/ABAP_LOGGING — README","checked":"2026-10-18","quote":"Simple Logging Framework for ABAP Netweaver"}}],"domain":"operations-and-runtime","origin_ring":"independent","description":{"one_line":"An object-oriented wrapper around SAP's Business Application Log (BAL) for ABAP NetWeaver, chaining texts, messages and exceptions onto a log header that persists in its own or the same connection.","short":"Object-oriented wrapper around the Business Application Log","what_it_solves":"ZCL_CALOG_FACTORY=>CREATE_HEADER returns a log header, and ADD_TEXT, ADD_MESSAGE and ADD_EXCEPTION each return that header again, so the appends chain into one statement ending in PERSIST. PERSIST stores the log either in a parallel database connection, with no dependency on the surrounding transaction, or in the same one, and its IV_WITH_CALLSTACK parameter attaches the call stack to the BAL header, where transaction SLG1 shows it under Details. The maintainer gives the BAL API's verbosity and its lack of an object model as the reason for the wrapper. It installs through ZABAPGIT, the README's name for [abapGit](artifact:abapgit-abapgit), and needs one post-installation step: a BAL log object and a subobject, both named ZCALOGDEF, created in transaction SLG0."},"links":{"repo":"https://github.com/franzreitmayer/ABAP_LOGGING"},"type_properties":{"placement":{"value":"in-host","sources":[{"url":"https://github.com/franzreitmayer/ABAP_LOGGING","title":"franzreitmayer/ABAP_LOGGING — README, Installation","checked":"2026-10-18","quote":"So you can use ZABAPGIT to install the code at your system."}]},"distribution":{"value":["abapgit"],"sources":[{"url":"https://github.com/franzreitmayer/ABAP_LOGGING","title":"franzreitmayer/ABAP_LOGGING — README, Installation","checked":"2026-10-18","quote":"The framework is managed on github with the use of ZABAPGIT (https://github.com/larshp/abapGit/blob/master/src/zabapgit.prog.abap) So you can use ZABAPGIT to install the code at your system."}]}},"identity":{"license":"MIT"},"source_available":true,"provides":[{"capability":"capability:logging","what_it_does":"Wraps the Business Application Log with a chainable factory interface: a header object collects text, messages and exceptions before a call to persist saves them.","sources":[{"url":"https://github.com/franzreitmayer/ABAP_LOGGING","title":"franzreitmayer/ABAP_LOGGING — README, Description","checked":"2026-10-18","quote":"This framework offers an object oriented wrapper to support he most common logging operations."}]}],"requires":[{"ref":"artifact:abapgit-abapgit","for":"Installs the repository into the ABAP system via ZABAPGIT, the README's name for [abapGit](artifact:abapgit-abapgit).","sources":[{"url":"https://github.com/franzreitmayer/ABAP_LOGGING","title":"franzreitmayer/ABAP_LOGGING — README","checked":"2026-09-14","quote":"So you can use ZABAPGIT to install the code at your system."}]}],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:dotabap"}],"first_seen":"2026-09-14"},"maintainers":["actor:franzreitmayer"],"contributors":["actor:franzreitmayer"]},"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-10, 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":"fair","evidence":"README 3 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":1,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":1,"forks":2,"open_issues":0,"archived":false,"pushed_at":"2025-10-15","license_spdx":"MIT","org_owned":false,"default_branch":"master","created_at":"2019-12-16T10:06:29Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":0,"other_ci":false,"readme_bytes":3232,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2019-12-16","last_commit":"2025-10-15","commits":17,"contributors":1,"readme_path":"README.md","readme_sha":"f5fab3c68721e1dda7bf908d569eb0c1b3bcfcd9","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:franzreitmayer","name":"franzreitmayer","json":"/actors/franzreitmayer.json"}],"contributors":[{"ref":"actor:franzreitmayer","name":"franzreitmayer","json":"/actors/franzreitmayer.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}