Skip to content

refactor: improve runtime log visibility across transports and matchers - #69

Merged
nil-malh merged 3 commits into
mainfrom
feat/improved-logging
Oct 18, 2026
Merged

nil-malh merged 3 commits into
mainfrom
feat/improved-logging

Conversation

@nil-malh

@nil-malh nil-malh commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

📝 Summary

Improve runtime log visibility and consistency across ktestify-core and ktestify-cucumber so users can follow every phase of scenario execution, transport operations, and record assertions without log spam:

  • Transport & Consumer Orchestration (ktestify-core):
    • Promote key lifecycle events to INFO: partition assignment, offset seeks per partition, polling start/attempt counts, deduplication skips/clears, Schema Registry subject/version lookups, and matcher execution/verdicts.
    • Log claimed record metadata (topic, partition, offset, key, timestamp) at INFO while keeping full produced/consumed payloads at DEBUG.
    • Add ERROR logs on produce and synchronous request failures.
  • Matchers & Utilities (ktestify-core):
    • Add INFO pass and ERROR failure/diff logs across FieldsRecordMatcher, XmlRecordMatcher, XPathRecordMatcher, AvroFieldsRecordMatcher, and AvroFileRecordMatcher.
    • Promote XMLUnit diff details in XMLUtils from DEBUG to ERROR on mismatch.
    • Suppress false ERROR logs in AvroUtils when probing candidate elements in unordered arrays and LAZY batch comparisons (doesAvroRecordsSmartMatchesQuietly / doesAvroRecordsSmartMatchesWithExclusionsQuietly).
    • Log resolved dynamic variable replacements at INFO in DynamicVariableProcessor.
  • Cucumber Steps & Services (ktestify-cucumber):
    • Promote BackgroundStepDefinition resource registrations (namespaces, topics with resolved namespaced names, assets directory, schemas) to INFO.
    • Add INFO progress logs (including row-by-row tracking for multi-row DataTables, batch parameters, and watcher checks) and ERROR failure logs in ActionStepDefinition, ValidationStepDefinition, ProducerValidationService, and ConsumerValidationService.

Closes #

🔄 Type of change

  • 🐛 Bug fix (fix): non-breaking change that fixes an issue
  • ✨ Feature (feat): non-breaking change that adds functionality
  • 💥 Breaking change (!): changes existing behaviour, public API, Gherkin steps or config keys
  • ♻️ Refactor (refactor): no functional change
  • ⚡ Performance (perf)
  • 📖 Documentation (docs)
  • ⬆️ Dependencies (build(deps))
  • 🔧 CI / build (ci / build): workflows, pom.xml, tooling

✅ Checklist

Code

  • Formatting passes mvn spotless:check (run mvn spotless:apply to fix it and add the Apache 2.0 headers)
  • Public types and methods have up-to-date Javadoc

Tests

  • New / changed behaviour is covered by tests
  • mvn verify passes locally, and JaCoCo line coverage stays ≥ 70 %
  • Testcontainers-based tests are isolated and clean up after themselves

Compatibility & docs

  • New or changed HOCON keys have a default in reference.conf and a documented env-var override
  • New or changed Gherkin steps are documented, with an example scenario
  • New SPI implementations are registered in META-INF/services/
  • User-facing changes are documented (docs PR: not needed)

@github-actions

github-actions Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

📋 Unreleased Changelog Preview

This is what the next release notes will look like based on commits in this PR.

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

✨ Features

  • Improve runtime log visibility across transports and matchers

Generated by git-cliff


🔄 Run #189 · Sun, 18 Oct 2026 14:27:08 GMT

…Exception'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
@nil-malh
nil-malh merged commit c8438ee into main Oct 18, 2026
9 checks passed
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.

1 participant