Skip to content

docs: Android logging framework research + Kotlin DSL implementation plan#390

Draft
tony19 wants to merge 3 commits into
mainfrom
claude/android-log-frameworks-research-49zmca
Draft

docs: Android logging framework research + Kotlin DSL implementation plan#390
tony19 wants to merge 3 commits into
mainfrom
claude/android-log-frameworks-research-49zmca

Conversation

@tony19

@tony19 tony19 commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Summary

Adds two research/planning documents (no code changes):

docs/android-logging-landscape-research.md — a survey of the modern Android/Kotlin logging ecosystem as of mid-2026 (Timber, Kermit, Napier, kotlin-logging, square/logcat, XLog, orhanobut/logger, plus the OpenTelemetry/Datadog/Sentry observability layer and Chucker/Hyperion in-app viewers). For each framework it identifies the standout features and maps them to concrete ways logback-android could mimic or improve on them. Key conclusions:

  • logback-android's engine (rolling files, encoders, MDC, markers, logger hierarchy, config files) has no real competitor — Kermit only reinvented rolling file writers in 2.1.0 (2026), and XLog is in bugfix-only mode.
  • The gaps are all "front door" gaps: Kotlin ergonomics (lazy lambdas, typed config DSL, logger inference), crash-reporter/OTel integrations, structured JSON output, lint rules, and debug-tooling polish.
  • Ends with a prioritized, independently-shippable roadmap.

docs/kotlin-dsl-implementation-plan.md — a detailed, phase-by-phase implementation plan for the roadmap's top item: a new logback-android-ktx module with a type-safe Kotlin configuration DSL, lazy Logger.debug { } extensions, and logger-name inference. The plan is written to be executable with minimal ambiguity: exact file paths, near-complete code skeletons for every DSL class, lifecycle-ordering rules (encoder → policy → appender), a full Robolectric test list, build/publishing wiring (Kotlin 1.8.22 against the existing AGP 7.4.2/Gradle 8.1.1), verification commands per phase, and a known-pitfalls section. All wrapped APIs were verified against the current source (e.g. FileAppender.setLazy, AndroidContextUtil.setupProperties, FileSize.valueOf).

Review notes

  • The DSL plan deliberately keeps the core :logback-android module 100% Java; Kotlin lives only in the new module so Java consumers never pull in the Kotlin stdlib.
  • The target end-user API is spelled out in §1 of the plan — that snippet is the spec and doubles as a compile test.

🤖 Generated with Claude Code

https://claude.ai/code/session_015vQzwdfzfiWmW8DQsg9ctP


Generated by Claude Code

claude added 2 commits July 7, 2026 07:27
Survey the modern Android/Kotlin logging ecosystem (Timber, Kermit,
Napier, kotlin-logging, square/logcat, XLog, orhanobut/logger, plus the
OTel/Datadog/Sentry observability layer), map each framework's best
features to concrete opportunities for logback-android, and propose a
prioritized roadmap.

Include a detailed, phase-by-phase implementation plan for the
highest-priority item: a new logback-android-ktx module providing a
type-safe Kotlin configuration DSL, lazy logging lambda extensions, and
logger-name inference.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vQzwdfzfiWmW8DQsg9ctP
Wrap bare URLs, label fenced code blocks, fix table delimiter spacing
and list spacing, and add a .markdownlint.json that relaxes MD013 to
100 columns and exempts tables/code blocks, which cannot be wrapped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015vQzwdfzfiWmW8DQsg9ctP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants