SchwarzIT / sap-usi-logging-api

An easy-to-use, object-oriented encapsulation around the SAP application log (Transaction SLG1)
Apache License 2.0
23 stars 0 forks source link

Remove package interfaces / encapsulation #23

Closed NeumannJoerg closed 2 months ago

NeumannJoerg commented 2 months ago

The Logging API is shipped as an encapsulated package with a package interface that explicitly exposes all components that are intended for external reuse. This was intended to create a public and a private part of the API. The public part should remain stable and the private part could be changed at any time.

Yesterday I learned that abapGit might have some issues with the import/activation sequence of package interfaces (https://github.com/abapGit/abapGit/issues/6976).

The package interfaces / encapsulation would only be beneficial on systems with package checks enabled. For example, if they are integrated into the ATC check, they would warn developers if they unintentionally use private components of the API (which is very unlikely anyway). On all other systems, the package interfaces/encapsulations would have no effect, except for errors when cloning the repository.

Therefore, removing the encapsulation seems to be the best compromise at the moment.