- keep_uncompressed/keep_compressed: newest N rolled logs plain, next M gzipped, rest deleted. applies to on_start/daily/size. opt-in by knob presence; without them the legacy backup_count + gzip-on-roll path is unchanged (existing consumers unaffected). - _normalize_name: 'latest' and 'latest.log' both -> live latest.log (no .log.log). - _gzip_file preserves source mtime (stable tier ordering across re-tiers). - rotate_on_start collision counter checks both .log and .log.gz (no duplicate logical roll when a same-stamp file was already compressed). execute-verified stdlib-only incl. a back-compat control proving the no-knobs path is unchanged. bump v0.3.2 -> v0.4.0 Signed-off-by: disqualifier <dev@disqualifier.me>
14 lines
343 B
TOML
14 lines
343 B
TOML
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "log_setup"
|
|
version = "0.4.0"
|
|
description = "stdlib app-entry-point logging setup: live run.log, rotation, gzip, retention, consistent format"
|
|
requires-python = ">=3.10"
|
|
dependencies = []
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/log_setup"]
|