Add optional date based log directory sharding (strftime patterns + local time) for more flexibility #454
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds an optional, eventually more flexible way to organize local logs. Deployments can choose to keep the current flat directory structure or enable date based sharding if needed
High volume installations can accumulate very large numbers of log segments in a single
log_dir, which may makes traversal and retention inefficient if files are not cleared or moved quickly, even when they are kept on the machine for days/weeks for troubleshootingThis PR introduces
strftimebased directory patterns (e.g./var/log/kumo/%Y/%m/%d/), usable globally or per-record type, so logs can be split by date without changing the default behavior. Patterns are parsed once at config load and reused for each write. Directory and filename resolution supports UTC (default) or the server's local timezone.I also ran stress tests and did not observe any significant performance impact
Random snip for example: