Skip to content

Logs sammeln

Welche Logs Sie bei einem Problem mitschicken, damit wir schnell helfen können.

Wenn Sie ein Problem mit CodeCharter haben, helfen uns die richtigen Logs, die Diagnose abzukürzen.

CLI-Verbose-Log

Der wichtigste Datenpunkt. Führen Sie den Problemfall mit --verbose aus (analyze erwartet den Pfad zu einer .sln-, .slnx- oder .csproj-Datei):

codecharter analyze MySolution.sln --verbose 2> codecharter.log

In codecharter.log steht:

  • Welches Regelverzeichnis verwendet wurde und wie viele Regeln daraus geladen wurden
  • Wie viele Typen und Methoden analysiert wurden
  • Stack-Traces, wenn die Analyse fehlschlägt

Wenn die Analyse hängt oder ungewöhnlich langsam ist, ergänzen Sie zusätzlich --progress. Das gibt einen Live-Fortschritt pro Projekt und pro Regel auf stderr aus und lässt sich mit --verbose kombinieren.

Hängen Sie die Datei an, wenn Sie uns schreiben.

VS-Code-Extension-Log

View → Output, im Dropdown "CodeCharter" auswählen, Inhalt kopieren. Der Befehl "CodeCharter: Show language server output" in der Befehlspalette öffnet denselben Kanal direkt.

Der Output-Kanal enthält das Log des Language-Servers. Um das Startverhalten zu reproduzieren, führen Sie einmal "CodeCharter: Restart language server" aus und kopieren dann den Inhalt. Beachten Sie: "CodeCharter: Analyze workspace" startet die CLI in einem VS-Code-Terminal, die Ausgabe erscheint also im Terminal und nicht im Output-Kanal.

Für detaillierte Kommunikationslogs zwischen VS Code und dem Language-Server setzen Sie in den VS-Code-Einstellungen codecharter.trace.server auf messages oder verbose, reproduzieren das Problem und kopieren den Inhalt des Output-Kanals.

CI-Logs

Bei einem CI-Problem:

  • GitHub Actions: den Workflow-Run anklicken, "View raw logs" klicken, Inhalt als .txt speichern.
  • GitLab: Job-Detail-Seite, "Show complete raw" oben rechts.
  • TeamCity: Build-Detail, "Build Log" Tab, "Download".
  • Andere: äquivalent.

Bei großen Logs reicht oft ein Ausschnitt um die relevante Stelle plus 20 Zeilen Kontext.

CLI-Version und System-Info

codecharter --version
dotnet --info
uname -a              # Linux / macOS
systeminfo            # Windows

Schicken Sie das ebenfalls mit. Es hilft uns, plattformspezifische Probleme einzugrenzen.

Solution-Info ohne sensitive Daten

# Zählt Projekte ohne Pfade preiszugeben (Linux / macOS)
find . -name "*.csproj" | wc -l

# Windows (PowerShell)
(Get-ChildItem -Recurse -Filter "*.csproj").Count

Wenn Sie eine konkrete Datei meinen, können Sie eine minimale Repro extrahieren, die kleinste Code-Stelle, die das Problem zeigt:

// minimal-repro.cs
using System;

public class Example
{
    public void Demo()
    {
        // Hier passiert das Problem
    }
}

Eine Solution mit einem Projekt mit dieser Datei reicht uns. Wir brauchen Ihre echte Codebasis nicht.

Networking-Logs

Wenn Sie Probleme mit dem CLI-Download haben:

# Ersetzen Sie IHR_KEY_HIER durch Ihren echten Key. Achtung: curl -v schreibt
# alle Request-Header, einschließlich des Authorization-Headers mit Ihrem Key,
# in network.log. Maskieren Sie ihn, bevor Sie die Datei verschicken.
curl -v -H "Authorization: Bearer IHR_KEY_HIER" \
    https://codecharter.tools/api/v1/cli/linux-x64/latest \
    -o codecharter.tar.gz 2> network.log

-v erzeugt den vollständigen HTTP-Trace. Bevor Sie network.log an uns schicken: Prüfen Sie, ob dort noch ein API-Key sichtbar ist. Der Authorization-Header ist im Request-Trace sichtbar. Ersetzen Sie ihn durch ***, bevor Sie die Datei anhängen.

Plattformregel- und Lizenzprobleme

Wenn das Problem Plattformregeln oder Bundles betrifft, hängen Sie Ihre codecharter.lock.json und die Ausgabe von codecharter verify an. Der Befehl prüft den lokalen Bundle-Cache gegen das Lockfile und beendet sich mit Exit-Code 1, wenn er eine Abweichung erkennt.

Wenn die CLI wegen eines Lizenzproblems nicht startet, beendet sie sich immer mit Exit-Code 6 und gibt eine Meldung License error: ... auf stderr aus. Schicken Sie diese Meldung mit; sie benennt die Ursache meist direkt.

Portal-seitige Logs

Wenn das Problem im Portal liegt (Login geht nicht, Download bricht ab), können wir auf Anfrage nachschlagen, ob bei uns ein Fehler aufgetreten ist. Schicken Sie uns:

  • Die ungefähre Zeit (UTC)
  • Die E-Mail-Adresse, mit der Sie eingeloggt waren
  • Den Browser-Stack (Chrome 121, Firefox 122, ...)

Was wir NICHT brauchen

  • Ihre komplette Codebasis (auch nicht unter NDA, wir wollen sie schlicht nicht).
  • Klartext-API-Keys. Wenn ein Log einen Key zeigt, maskieren Sie ihn.
  • Klartext-Passwörter. Passwörter werden bei uns nur als Hashes gespeichert. Schicken Sie uns niemals ein Passwort.

Wie Sie das alles verschicken

E-Mail an [email protected] mit Logs als .txt- oder .log-Anhänge. Wenn die Dateien groß sind (mehrere MB), gerne als gzip oder zip.

Wir antworten in der Regel innerhalb von 24 Stunden an Werktagen.