add README
This commit is contained in:
parent
8aff72c4ee
commit
d58d63a511
4 changed files with 48 additions and 42 deletions
38
README.md
Normal file
38
README.md
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
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
|
15
build.gradle
15
build.gradle
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'pmd'
|
id 'pmd'
|
||||||
id 'maven-publish'
|
id 'maven-publish'
|
||||||
|
@ -15,24 +14,24 @@ wrapper {
|
||||||
}
|
}
|
||||||
|
|
||||||
ext {
|
ext {
|
||||||
user = 'joerg'
|
name = rootProject.name
|
||||||
name = 'logging'
|
|
||||||
description = 'Logging for Java 21+, a reimplementation of JBoss LogManager'
|
description = 'Logging for Java 21+, a reimplementation of JBoss LogManager'
|
||||||
inceptionYear = '2024'
|
inceptionYear = '2024'
|
||||||
|
user = 'joerg'
|
||||||
url = 'https://xbib.org/' + user + '/' + name
|
url = 'https://xbib.org/' + user + '/' + name
|
||||||
scmUrl = 'https://xbib.org/' + user + '/' + name
|
scmUrl = url
|
||||||
scmConnection = 'scm:git:git://xbib.org/' + user + '/' + name + '.git'
|
scmConnection = 'scm:git:' + url + '.git'
|
||||||
scmDeveloperConnection = 'scm:git:ssh://forgejo@xbib.org:' + user + '/' + name + '.git'
|
scmDeveloperConnection = 'scm:git:ssh://forgejo@xbib.org:' + user + '/' + name + '.git'
|
||||||
issueManagementSystem = 'Github'
|
issueManagementSystem = 'Forgejo'
|
||||||
issueManagementUrl = ext.scmUrl + '/issues'
|
issueManagementUrl = ext.scmUrl + '/issues'
|
||||||
licenseName = 'The Apache License, Version 2.0'
|
licenseName = 'The Apache License, Version 2.0'
|
||||||
licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
||||||
}
|
}
|
||||||
|
|
||||||
subprojects {
|
subprojects {
|
||||||
|
apply from: rootProject.file('gradle/compile/java.gradle')
|
||||||
apply from: rootProject.file('gradle/repositories/artifactory.gradle')
|
apply from: rootProject.file('gradle/repositories/artifactory.gradle')
|
||||||
apply from: rootProject.file('gradle/repositories/forgejo.gradle')
|
apply from: rootProject.file('gradle/repositories/forgejo.gradle')
|
||||||
apply from: rootProject.file('gradle/compile/java.gradle')
|
|
||||||
apply from: rootProject.file('gradle/test/junit5.gradle')
|
apply from: rootProject.file('gradle/test/junit5.gradle')
|
||||||
apply from: rootProject.file('gradle/quality/pmd.gradle')
|
apply from: rootProject.file('gradle/quality/pmd.gradle')
|
||||||
apply from: rootProject.file('gradle/publish/maven.gradle')
|
apply from: rootProject.file('gradle/publish/maven.gradle')
|
||||||
|
@ -41,4 +40,4 @@ apply from: rootProject.file('gradle/quality/cyclonedx.gradle')
|
||||||
apply from: rootProject.file('gradle/quality/osv-scanner.gradle')
|
apply from: rootProject.file('gradle/quality/osv-scanner.gradle')
|
||||||
apply from: rootProject.file('gradle/publish/xbib/forgejo.gradle')
|
apply from: rootProject.file('gradle/publish/xbib/forgejo.gradle')
|
||||||
apply from: rootProject.file('gradle/publish/hbz/artifactory.gradle')
|
apply from: rootProject.file('gradle/publish/hbz/artifactory.gradle')
|
||||||
//apply from: rootProject.file('gradle/publish/maven-central/sonatype.gradle')
|
apply from: rootProject.file('gradle/publish/maven-central/sonatype.gradle')
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
apply plugin: 'groovy'
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation "org.codehaus.groovy:groovy:${project.property('groovy.version')}:indy"
|
|
||||||
}
|
|
||||||
|
|
||||||
compileGroovy {
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_11
|
|
||||||
targetCompatibility = JavaVersion.VERSION_11
|
|
||||||
}
|
|
||||||
|
|
||||||
compileTestGroovy {
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_11
|
|
||||||
targetCompatibility = JavaVersion.VERSION_11
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.withType(GroovyCompile) {
|
|
||||||
options.compilerArgs
|
|
||||||
if (!options.compilerArgs.contains("-processor")) {
|
|
||||||
options.compilerArgs << '-proc:none'
|
|
||||||
}
|
|
||||||
groovyOptions.optimizationOptions.indy = true
|
|
||||||
}
|
|
||||||
|
|
||||||
task groovydocJar(type: Jar, dependsOn: 'groovydoc') {
|
|
||||||
from groovydoc.destinationDir
|
|
||||||
archiveClassifier.set('javadoc')
|
|
||||||
}
|
|
||||||
|
|
||||||
configurations.all {
|
|
||||||
resolutionStrategy {
|
|
||||||
force "org.codehaus.groovy:groovy:${project.property('groovy.version')}:indy"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -3,4 +3,7 @@ apply plugin: 'com.fizzpod.osv-scanner'
|
||||||
osvScanner {
|
osvScanner {
|
||||||
format = "json"
|
format = "json"
|
||||||
sbom = rootProject.file('build/reports/bom.json')
|
sbom = rootProject.file('build/reports/bom.json')
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
osvSbom.dependsOn(osvInstall, cyclonedxBom)
|
||||||
|
|
Loading…
Reference in a new issue