openmrs-core icon indicating copy to clipboard operation
openmrs-core copied to clipboard

TRUNK-6271: Log4JCompatibilityTest fail on github workflow

Open ManojLL opened this issue 1 year ago • 6 comments

Description of what I changed

added logging levels to logger

Issue I worked on

see https://issues.openmrs.org/browse/TRUNK-6271

Checklist: I completed these to help reviewers :)

  • [x] My IDE is configured to follow the code style of this project.

    No? Unsure? -> configure your IDE, format the code and add the changes with git add . && git commit --amend

  • [ ] I have added tests to cover my changes. (If you refactored existing code that was well tested you do not have to add tests)

    No? -> write tests and add them to this commit git add . && git commit --amend

  • [x] I ran mvn clean package right before creating this pull request and added all formatting changes to my commit.

    No? -> execute above command

  • [x] All new and existing tests passed.

    No? -> figure out why and add the fix to your commit. It is your responsibility to make sure your code works.

  • [x] My pull request is based on the latest changes of the master branch.

    No? Unsure? -> execute command git pull --rebase upstream master

ManojLL avatar Oct 10 '24 13:10 ManojLL

This fundamentally subverts what this test is actually testing s this isn't really a great solution to the problem...

ibacher avatar Oct 11 '24 12:10 ibacher

@ibacher what about adding logger for "Log4JCompatibility" in log4j2.xml file. By adding the "Log4JCompatibility" logger configuration, 'log4j' can capture all log messages for this logger and send them to the console. This allows our test to capture and check the log messages produced during the test.

<Logger name="Log4JCompatibility" level="ALL" additivity="false"> <AppenderRef ref="CONSOLE" /> </Logger>

ManojLL avatar Oct 12 '24 05:10 ManojLL

@dkayiwa, @ibacher, is this the right time to remove support for Log4j 1.x?

https://github.com/openmrs/openmrs-core/blob/489168f91edaa1f58b3fb18f8fd2e5f528e022dc/api/src/test/java/org/openmrs/logging/Log4JCompatibilityTest.java#L23-L26

wikumChamith avatar Oct 18 '24 08:10 wikumChamith

@wikumChamith No. We haven't actually removed the Log4J 1.x API from any modules that use it.

@ManojLL The Log4JCompatibility logger is just something that exists for the purposes of this test. Adding it to the file makes it more permanent than it needs to be.

ibacher avatar Oct 18 '24 13:10 ibacher

@ibacher initializing the log4j logger after the log4j2 memory appender starts, that cause to set the compatinilityLogger level to OFF.

ManojLL avatar Oct 19 '24 08:10 ManojLL

In the meantime, in order to have our builds pass on GitHub pull requests, i have reverted log4jVersion from 2.24.1 to 2.22.1 We can upgrade it again after this is done.

dkayiwa avatar Oct 21 '24 13:10 dkayiwa