#90: Neuer technischer Prüfpunkt LOG_DIRECTORY_USABLE (12. Checkpoint): - Zeigt konfigurierten log.directory-Wert und aufgelösten absoluten Pfad - Prüft ob Verzeichnis beschreibbar/anlegbar ist (WARNING, kein ERROR) - Liest tatsächlichen Log-Datei-Pfad via Log4j2 LoggerContext → RollingFileAppender - LogDiagnosticsPort als neuer Outbound-Port (application-Modul) - Log4jLogDiagnosticsAdapter als Implementierung im bootstrap-Modul - TechnicalTestRequest erhält logDirectory-Feld - GuiTechnicalTestCoordinator erhält logDirectoryProvider-Supplier #89: docs/betrieb.md – MSI-Betrieb um Pfadwarnungen erweitert: - Warnung: relative Pfade lösen sich in schreibgeschütztes C:\Program Files\ auf - Warnung: Backslashes in .properties werden als Java-Escape-Sequenzen interpretiert - Betroffene Parameter mit Empfehlung zu absoluten Forward-Slash-Pfaden - Beschreibung des neuen Log-Verzeichnis-Prüfpunkts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+44
-6
@@ -550,13 +550,51 @@ Installationsverzeichnis ab. **Der Betreiber muss diese Beispieldatei manuell na
|
||||
Windows-SmartScreen-Warnung, die durch „Weitere Informationen → Trotzdem ausführen"
|
||||
bestätigt werden muss. Code-Signing ist für spätere Ausbaustufen vorgesehen.
|
||||
|
||||
**Empfehlung für Prompt- und Konfigurationspfade im MSI-Betrieb:**
|
||||
**Empfehlung für Pfade im MSI-Betrieb:**
|
||||
|
||||
Für den MSI-Betrieb (Startmenü, Task Scheduler) wird **empfohlen**,
|
||||
`prompt.template.file` und `sqlite.file` als **absolute Pfade** zu konfigurieren
|
||||
oder auf `%APPDATA%`- bzw. `%ProgramData%`-Verzeichnisse zu zeigen.
|
||||
Relative Pfade beziehen sich auf das Arbeitsverzeichnis, das je nach Startart variiert
|
||||
(siehe Abschnitt „Prompt-Konfiguration").
|
||||
Für den MSI-Betrieb (Startmenü, Task Scheduler) müssen alle Dateipfade als **absolute Pfade**
|
||||
konfiguriert werden. Relative Pfade werden relativ zum Installationsverzeichnis
|
||||
`C:\Program Files\PDF KI Renamer\` aufgelöst, das **schreibgeschützt** ist. Dadurch
|
||||
schlagen Schreibversuche (Logs, SQLite-Datenbank, Lock-Datei) ohne Fehlermeldung fehl.
|
||||
|
||||
> **Warnung – Relative Pfade im MSI-Betrieb nicht verwenden:**
|
||||
> Pfade wie `./logs`, `./work/local/logs` oder `logs/` werden im MSI-Betrieb relativ
|
||||
> zum Installationsverzeichnis aufgelöst. Das Installationsverzeichnis ist für normale
|
||||
> Benutzerkonten schreibgeschützt. Log4j2 scheitert dann still, ohne eine sichtbare
|
||||
> Fehlermeldung zu erzeugen.
|
||||
|
||||
> **Warnung – Backslashes in `.properties`-Dateien:**
|
||||
> In Java-`.properties`-Dateien werden Backslashes (`\`) als Escape-Zeichen interpretiert.
|
||||
> Windows-Pfade wie `C:\Users\Funny\Logs` müssen entweder mit Forward-Slashes
|
||||
> (`C:/Users/Funny/Logs`) oder mit doppelten Backslashes (`C:\\Users\\Funny\\Logs`)
|
||||
> angegeben werden. Einfache Backslashes werden stillschweigend falsch interpretiert.
|
||||
|
||||
Betroffene Parameter:
|
||||
|
||||
| Parameter | Empfehlung |
|
||||
|---|---|
|
||||
| `log.directory` | Absoluter Pfad, z. B. `C:/ProgramData/PDF KI Renamer/logs` |
|
||||
| `runtime.lock.file` | Absoluter Pfad, z. B. `C:/ProgramData/PDF KI Renamer/pdf-umbenenner.lock` |
|
||||
| `prompt.template.file` | Absoluter Pfad, z. B. `C:/ProgramData/PDF KI Renamer/config/prompts/template.txt` |
|
||||
| `sqlite.file` | Absoluter Pfad, z. B. `C:/ProgramData/PDF KI Renamer/config/pdf-umbenenner.db` |
|
||||
|
||||
Das empfohlene Konfigurationsverzeichnis für alle schreibbaren Daten im MSI-Betrieb ist
|
||||
`C:\ProgramData\PDF KI Renamer\`, da dieses Verzeichnis standardmäßig für alle
|
||||
Benutzerkonten schreibbar ist und bei der Deinstallation erhalten bleibt.
|
||||
|
||||
**Diagnose: Log-Datei-Prüfpunkt in den technischen Tests**
|
||||
|
||||
Die technischen Tests (Schaltfläche „Technische Tests ausführen" im Konfigurationseditor)
|
||||
enthalten einen dedizierten Prüfpunkt **„Log-Verzeichnis beschreibbar"**, der anzeigt:
|
||||
|
||||
- den konfigurierten `log.directory`-Wert (roh und als aufgelöster absoluter Pfad),
|
||||
- ob das Verzeichnis vorhanden und beschreibbar ist,
|
||||
- den tatsächlichen Log-Dateipfad aus der laufenden Log4j2-Konfiguration.
|
||||
|
||||
Ein nicht beschreibbares Log-Verzeichnis wird als **Warnung** angezeigt, nicht als Fehler
|
||||
(die Anwendung kann ohne Datei-Logging laufen). Der Prüfpunkt hilft, den typischen
|
||||
MSI-Betriebsfehler – relatives `log.directory` auf schreibgeschütztem Installationspfad –
|
||||
frühzeitig zu erkennen.
|
||||
|
||||
### MSI-Release-Checkliste
|
||||
|
||||
|
||||
Reference in New Issue
Block a user