ppkarwasz commented on PR #2702: URL: https://github.com/apache/logging-log4j2/pull/2702#issuecomment-2204281617
> 1. `Your code relies on Log4j Core internals, which have lesser compatibility guarantees` statement is not correct. We don't have any guarantees on internals. We don't want to. Any expression hinting even slightly different than this encourages users. The reason we still try to keep things backward compatible is there is no decent encapsulation mechanism in Java 8. We **do** guarantee that classes which are not marked as private or internal will evolve according to semantic versioning. In the future we might be more aggressive with releasing major versions (e.g. once every couple of years like MongoDB), but in the context of a single major version we will not do breaking changes. > 2. Creating a component (in this case `PatternLayout`) manually is wrong. It is analogous to creating Spring beans manually instead of requesting them from the `ApplicationContext`. I see this as a sort of Spring Java-based configuration, where you call Java constructors and setters explicitly. In this example the attributes of `PatternLayout` are hard-coded, but users could use other mechanisms to inject those. > 3. We encourage the usage of `PatternLayout.createDefaultLayout()`, which should have not existed in the first place. +1, I will remove it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
