Repository navigation
feat(log): name the process in every log line - #106
Merged
Merged
Conversation
Every window is its own process, and all of them write one shared log
file. A line did not say which process wrote it, so the windows' lines
could not be told apart.
The log template carries [{ProcessId}] after the timestamp, and the
logger enriches every event with Environment.ProcessId; one constant
names the property in both places. An event's first line carries the
id and its other lines follow it unbroken. overview.md, bench.md and
readme.md state how the shared file rolls: its own length decides the
5 MB roll, and every process moves to the newest file at its first
write after the file is full.
This closes the window-per-process plan. backlog.md records the
platform audit's leftovers, each against a file:line that holds on the
tree, the plan's acceptance is verified across all its groups, and the
plan moves to docs/plans/completed/.
Two pen-editor view tests clicked a control the refresh had not yet
enabled when the pool thread was slow; they now wait for it.
testing-strategy.md names HeadlessWait as the wait for that hop.
Claude-Session: https://claude.ai/code/session_01PfZJa7neMMKPzycFR6iuhD
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.
Problem
Every window is its own process, and all of them write one shared log file. A line did not say which process wrote it, so the windows' lines could not be told apart. Group G (Tasks 15-18) of the window-per-process plan, its last group.
What changed
Program.cs: the template carries[{ProcessId}]after the timestamp, the logger enriches withEnvironment.ProcessId, and one constant names the property in both places. No package added.overview.md,bench.md,readme.md: every window shares the log file; an event's first line carries the id; the file's own length decides the 5 MB roll and every process moves to the newest file at its first write after it fills (checked against the decompiled Serilog.Sinks.File 7.0.0).backlog.md: "Platform audit leftovers", 12 entries, each against afile:linethat holds on the tree; two stale bullets removed.docs/plans/completed/.PenEditorViewTestsandPenGroupsViewTestsclicked a control the refresh had not yet enabled when the pool thread lagged (reproduced under load); they now wait forIsEffectivelyEnabled.testing-strategy.mdnamesHeadlessWaitas the wait for that pool-to-dispatcher hop. Kept here because the flake puts this PR's CI at risk.Verification
dotnet build SemiPlot.slnx: 0 warnings. Unit 1591/1591, integration 138/138.[<pid>], five process ids seen in one file. Smoke step 8 (database stop and restart) needsconvergere-run on this stand, because a container restarted from the Aspire dashboard is recreated withoutsemiplot_app; the viewer reported exactly that.Per-task commits before collapse
https://claude.ai/code/session_01PfZJa7neMMKPzycFR6iuhD