Repository navigation
feat: ship marko/log with the file and stream handlers in the skeleton - #642
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017KaHtaJjfe2D38CdEdnmTb
…ing it Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017KaHtaJjfe2D38CdEdnmTb
markshust
force-pushed
the
feature/skeleton-log-handlers
branch
from
November 1, 2026 13:27
6a23a53 to
d4b504e
Compare
Closed
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Since #608 (PR #633)
marko/queuerequiresmarko/log, which writes nowhere without a handler, so a new app running a queue worker failed at startup withNoDriverException. The skeleton now ships logging out of the box:packages/skeleton/composer.jsonrequiresmarko/log,marko/log-fileandmarko/log-stream(and no longer suggests the two handlers)..env.examplesetsLOG_HANDLERS=filewith a comment: containers/PaaS usestream(stderr),file,streamwrites to both.KnownDriversValidator::assertSkeletonSuggestContainsAll()counts a known driver as covered when the skeleton either suggests it (with the verbatim description) or requires it; a required driver that is also suggested fails, since suggesting a required package does nothing..env.exampleblock), a new "Logging in Production" section in the logging guide (containers/PaaS usestream, SSH servers usefilewith rotation, RoadRunner needs the stderr target), a pointer to it from the core "Deploying to production" section, a skeleton note in the logging guide's Setup, and the validator rule in the testing and known-drivers pages.Decisions
guides/logging.md#logging-in-production) and the deploy section inpackages/core.mdlinks to it.suggestorrequire. The separate "no driver moves into require" guard keeps an explicit, commented allowlist of the two shipped log handlers, so requiring any other driver still fails.Tests
PackageStructureTest: skeleton requires the three log packages;.env.examplehasLOG_HANDLERS=fileand mentionsstream/file,stream.KnownDriversSuggestParityTest: suggest-or-require coverage; required drivers must not be suggested.KnownDriversValidatorTest: a required driver passes without a suggest entry; a required and suggested driver fails.composer cigreen locally.Fixes #640
🤖 Generated with Claude Code
https://claude.ai/code/session_017KaHtaJjfe2D38CdEdnmTb