Logdateinamen haengen nicht mehr am Kalender der Host-Kultur
Im Logverzeichnis der Test-VM lagen neben 2026-09-03.jsonl auch 1405-06-12.jsonl und 2569-09-03.jsonl - dieselben Tage im Sonnen-Hidschra- und im buddhistischen Kalender. Eine interpolierte Zeichenkette formatiert mit CurrentCulture, und die bringt ihren Kalender mit. Betroffen waren beide Schreibpfade des LoggingService und die Lesestelle im DossierService, die denselben Namen wieder zusammensetzt. CA1305 greift hier nicht: die Regel sieht string.Format und ToString, nicht die interpolierte Form. Die .editorconfig deckt diesen Fall also nicht ab. FormattableString.Invariant an allen drei Stellen, dazu ein Regressionstest ueber fa-IR, th-TH und de-DE - mit Gegenbeweis, dass die naive Form tatsaechlich abweicht, damit der Test nicht eines Tages unbemerkt trivial wird. Ausserdem: Verweise auf die Bugtracker-Nummern richtiggestellt (488/489). 461 Tests gruen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -75,7 +75,10 @@ public sealed class DossierService
|
||||
var to = times.Max().Date.AddDays(1);
|
||||
for (var day = from; day <= to; day = day.AddDays(1))
|
||||
{
|
||||
string path = Path.Combine(_logsDirectory, $"{day:yyyy-MM-dd}.jsonl");
|
||||
// Muss zeichengleich zu dem sein, was LoggingService schreibt - sonst sucht der
|
||||
// Supervisor unter einem Namen, den es nicht gibt.
|
||||
string path = Path.Combine(
|
||||
_logsDirectory, FormattableString.Invariant($"{day:yyyy-MM-dd}.jsonl"));
|
||||
if (!File.Exists(path)) continue;
|
||||
foreach (var line in File.ReadLines(path))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user