Skip to content

feat(174): Added the yaes-slf4j module#175

Merged
rcardin merged 12 commits into
v0.14.0from
174-add-slf4j-integration-module-for-the-log-effect
Feb 9, 2026
Merged

feat(174): Added the yaes-slf4j module#175
rcardin merged 12 commits into
v0.14.0from
174-add-slf4j-integration-module-for-the-log-effect

Conversation

@rcardin
Copy link
Copy Markdown
Owner

@rcardin rcardin commented Feb 9, 2026

Closes #174

@rcardin rcardin self-assigned this Feb 9, 2026
@rcardin rcardin added enhancement New feature or request yaes-core YAES core effects breaking Breaking change labels Feb 9, 2026
@rcardin rcardin requested a review from Copilot February 9, 2026 08:30
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new yaes-slf4j module to back the Log effect with SLF4J, and refactors the core Log API so log level is configured at the handler (Log.run(level)) rather than per-logger. This aligns with Issue #174’s goal of letting users swap logging backends without changing call sites (Log.getLogger(...), logger.info(...), etc.).

Changes:

  • Introduce yaes-slf4j with Slf4jLog.run and an SLF4J-backed Logger implementation, plus tests using slf4j-simple.
  • Refactor yaes-core logging API: remove per-logger level, move level selection to Log.run(level) (default Debug), update affected tests.
  • Update docs and examples to reflect the new Log/YaesApp behavior and document SLF4J integration.

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
yaes-slf4j/src/main/scala/in/rcard/yaes/slf4j/Slf4jLog.scala Adds the SLF4J-backed Log handler (Slf4jLog.run).
yaes-slf4j/src/main/scala/in/rcard/yaes/slf4j/Slf4jLogger.scala Implements Logger by delegating to org.slf4j.Logger with enabled-guards for laziness.
yaes-slf4j/src/test/scala/in/rcard/yaes/slf4j/Slf4jLogSpec.scala Tests delegation, level filtering via backend config, fatal mapping, name propagation, laziness.
yaes-slf4j/src/test/resources/simplelogger.properties Configures slf4j-simple test behavior (default trace; per-logger overrides).
yaes-slf4j/README.md Documents usage and configuration for the new module.
yaes-core/src/main/scala/in/rcard/yaes/Log.scala Moves log level control to Log.run(level); removes per-logger level from API.
yaes-core/src/test/scala/in/rcard/yaes/LogSpec.scala Updates tests to the new handler-level API; adds default-level test.
yaes-core/src/main/scala/in/rcard/yaes/YaesApp.scala Removes Log from YaesApp’s automatic effect stack; updates docs/comments accordingly.
yaes-core/src/test/scala/in/rcard/yaes/YaesAppSpec.scala Updates YaesApp tests to match new effect stack without Log.
yaes-http/server/src/test/scala/in/rcard/yaes/http/server/integration/YaesServerSpec.scala Updates handler wiring to Log.run(level = ...) now that Log.run {} is no longer valid.
docs/effects/log.md Updates Log effect docs for handler-level filtering and SLF4J integration.
docs/yaes-app.md Updates YaesApp docs to reflect that logging is no longer automatically provided.
README.md Adds module to list, documents SLF4J integration, updates Log examples to new API.
build.sbt Adds yaes-slf4j subproject and SLF4J dependencies.
CLAUDE.md Updates repository guidance and removes outdated sections.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/effects/log.md
Comment thread docs/yaes-app.md Outdated
Comment thread yaes-core/src/main/scala/in/rcard/yaes/YaesApp.scala Outdated
rcardin and others added 5 commits February 9, 2026 09:40
…gration/YaesServerSpec.scala

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated 7 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md Outdated
Comment thread yaes-core/src/main/scala/in/rcard/yaes/YaesApp.scala Outdated
Comment thread yaes-slf4j/README.md Outdated
rcardin and others added 4 commits February 9, 2026 10:19
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread yaes-slf4j/src/test/scala/in/rcard/yaes/slf4j/Slf4jLogSpec.scala Outdated
Comment thread docs/http/server.md
Comment thread yaes-http/server/README.md
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 21 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread yaes-core/src/main/scala/in/rcard/yaes/YaesApp.scala
@rcardin rcardin merged commit 0858d63 into v0.14.0 Feb 9, 2026
1 check passed
@rcardin rcardin deleted the 174-add-slf4j-integration-module-for-the-log-effect branch February 9, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change enhancement New feature or request yaes-core YAES core effects

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants