https://github.com/elf4j/elf4j-slf4j
An adapter to use SLF4J as service provider and runtime log engine for the ELF4J (Easy Logging Facade for Java) API
https://github.com/elf4j/elf4j-slf4j
api elf4j java java-logger java-logging java-logging-facade logging logging-framework logging-library slf4j spi
Last synced: about 2 months ago
JSON representation
An adapter to use SLF4J as service provider and runtime log engine for the ELF4J (Easy Logging Facade for Java) API
- Host: GitHub
- URL: https://github.com/elf4j/elf4j-slf4j
- Owner: elf4j
- License: mit
- Created: 2022-11-11T05:23:50.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-09T07:08:21.000Z (over 1 year ago)
- Last Synced: 2025-07-10T20:34:28.014Z (8 months ago)
- Topics: api, elf4j, java, java-logger, java-logging, java-logging-facade, logging, logging-framework, logging-library, slf4j, spi
- Language: Java
- Homepage: https://elf4j.github.io/elf4j-slf4j/
- Size: 113 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# elf4j-slf4j
An adapter to use [SLF4J](https://www.slf4j.org/) as service provider and runtime log engine for
the [ELF4J](https://github.com/elf4j/elf4j) (Easy Logging Facade for Java) API
## User story
As an application developer using the [ELF4J](https://github.com/elf4j/elf4j) API, I want to have the option of
selecting [SLF4J](https://www.slf4j.org/) as my log engine, at application deploy time without code change or
re-compile.
## Prerequisite
- Java 8+
## Get it...
[](https://search.maven.org/search?q=g:%22io.github.elf4j%22%20AND%20a:%22elf4j-slf4j%22)
## Use it...
If you are using the [ELF4J API](https://github.com/elf4j/elf4j/) for logging, and wish to select or change to use SLF4J
as the run-time implementation, then simply pack this service provider in the classpath when the application deploys. No
code change needed. At compile time, the client code is unaware of this run-time logging service provider. With the
ELF4J facade, opting for SLF4J as the logging implementation is a deployment-time decision.
The usual [SLF4J configuration](https://www.slf4j.org/manual.html#swapping) applies.
With Maven, in addition to use compile-scope on the [ELF4J API](https://github.com/elf4j/elf4j) dependency, an end-user
application would use runtime-scope for this provider as a dependency:
```html
io.github.elf4j
elf4j
compile
io.github.elf4j
elf4j-slf4j
runtime
```
Note: Only one logging provider such as this should be in effect at run-time. If multiple providers end up in the final
build of an application, somehow, then the `elf4j.service.provider.fqcn` system property will have to be used to select
the desired provider.
```
java -Delf4j.service.provider.fqcn="elf4j.slf4j.Slf4jLoggerFactory" -jar MyApplication.jar
```