logging/README.md
2024-07-22 07:23:37 +02:00

38 lines
1.8 KiB
Markdown

This is a reimplementation of the JBoss Logmanager.
The implementation purpose of this project is to serve as a replacement for java.util.logging.Logmanager by defining java.util.logging.manager property on the java command line to overcome the weaknesses and strange defaults.
One notable weakness of the original JUL LogManager is that all loggers can be reset by any application. This LogManannger can not be modified after its initialization, a reset is simply ignored.
The following attributes of the original JBoss implementation have been changed:
- build tool is Grade
- new package org.xbib
- the package structure has been reorganized
- removed all license headers and authorships for clarity, this source code does not claim to be the original one
- Usage of the Java Security Manager have been removed
- Usage and declaration of deprecated code has been removed to the possible minimum
- Usage of asserts have been removed (checks are always active)
- Dependencies to external resources have been resolved, there are no external dependencies any more, making this implementation a single artifact
- JPMS module description has been added
- JSON logging has been removed
- Formatters have been moved to an extension package to reduce the size of the required artifact
- a new default formatter always adds the Java thread name in a single line formatted log message
- it is possible to override the properties in the logging.properties resource file by a system property
- there are just two adapters for redirecting log4j2 and slf4j to this log manager implementation
Usage
Define a Java command line like
java [...] -Djava.util.logging.manager=org.xbib.logging.LogManager [...]
and add the artifact to your project
Notes
The integrations tests are disabled and need to be repaired.
See NOTICE.txt for notes about provenance.
The license is Apache 2.0