Skip to content

Add formatters, opt, diagnose, apprise - #17

Merged
nikhilvdev merged 2 commits into
mainfrom
feat/phase-12-finish-1.0-scope
Sep 21, 2026
Merged

nikhilvdev merged 2 commits into
mainfrom
feat/phase-12-finish-1.0-scope

Conversation

@nikhilvdev

Copy link
Copy Markdown
Owner

Introduce human/text/logfmt formatters and parsing utilities; preserve old formatter import path. Add Logger.opt (lazy, depth) and caller resolution, plus diagnose-mode exception locals with redaction hooks. Add AppriseAlertPlugin (optional extra), aiohttp HTTP sender, HTTPTransport hardening (max_bytes, backend selection, failure logging). Implement process-exit flush (atexit) and per-logger flush_at_exit opt-out, plus enable/disable toggles for silencing libraries. Add benchmarks and memory-budget tests, many property/unit tests, and CI changes to run benchmark job; update README, CHANGELOG and packaging metadata.

Summary

Checklist

  • ruff check . passes
  • mypy logquill passes (--strict on the public API)
  • pytest passes, and new surface area has test coverage
  • Public API additions are documented in README.md with a runnable example
  • CHANGELOG.md has an entry under Unreleased
  • If this touches the cross-language contract (levels, logger methods,
    record shape, transport/plugin contracts, config shape) shared with
    logquill-js, a matching tracking issue/PR is opened there

Scope

Introduce human/text/logfmt formatters and parsing utilities; preserve old formatter import path. Add Logger.opt (lazy, depth) and caller resolution, plus diagnose-mode exception locals with redaction hooks. Add AppriseAlertPlugin (optional extra), aiohttp HTTP sender, HTTPTransport hardening (max_bytes, backend selection, failure logging). Implement process-exit flush (atexit) and per-logger flush_at_exit opt-out, plus enable/disable toggles for silencing libraries. Add benchmarks and memory-budget tests, many property/unit tests, and CI changes to run benchmark job; update README, CHANGELOG and packaging metadata.
@gitguardian

gitguardian Bot commented Sep 21, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 1 secret following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secret in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
37485052 Triggered Generic Password 682af03 tests/test_diagnose.py View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secret safely. Learn here the best practices.
  3. Revoke and rotate this secret.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

This patch swaps literal secrets in the diagnose regression tests for fake placeholder values and keeps the assertions tied to those constants. The goal is unchanged: verify diagnose output masks sensitive locals, chained exceptions, and redaction failures without tripping secret-scanning rules in CI.
@nikhilvdev
nikhilvdev merged commit 9eeab43 into main Sep 21, 2026
7 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