Przejdź do głównej zawartości

Logi i diagnostyka

Widok /logs (System health w aplikacji) łączy logi kontenerów oraz usług uruchomionych na Twojej maszynie (hoście) w jeden spójny strumień. U góry widoczny jest pasek stanu systemu, a zgromadzone dane diagnostyczne można wygodnie wyeksportować do archiwum w celu dołączenia do zgłoszenia błędu.

Jeśli znasz już przyczynę problemu, przejdź bezpośrednio do przewodnika po rozwiązywaniu problemów. Poniższy widok służy do analizy surowych logów oraz generowania paczek diagnostycznych.

  1. Otwórz stronę /logs. Pasek stanu prezentuje ogólny status (healthy lub degraded) oraz kolorowe wskaźniki dla komponentów vm, containers, ide_bridge i mcp_os.
  2. Kliknij status ogólny, aby rozwinąć szczegóły: nazwy i stany poszczególnych kontenerów oraz wykryte środowiska IDE wraz z przypisanymi portami.
  3. Jeśli Speedwave wykryje środowisko IDE, które nie zostało jeszcze połączone, przy wskaźniku ide_bridge pojawi się odnośnik connect -> prowadzący do widoku Integracji. Zasady działania mostka opisano w artykule IDE Bridge.
  4. Kliknij przycisk refresh, aby natychmiast odświeżyć stan bez oczekiwania na 5-sekundowy interwał automatyczny.
  1. Poniżej paska stanu znajduje się widok logów prezentujący na żywo scalony strumień zdarzeń (domyślnie ostatnich 500 wierszy). Zawartość odświeża się co 5 sekund i automatycznie przewija się do najnowszych wpisów.
  2. Użyj filtrów poziomu logowania (all, debug, info, warn, error), aby ograniczyć wyświetlane komunikaty.
  3. Za pomocą listy wyboru źródła możesz wyizolować wpisy z konkretnego komponentu (przy każdej pozycji podana jest liczba linii).
  4. Po najechaniu kursorem na znacznik czasu wyświetla się jego surowa wartość; prezentowana godzina uwzględnia Twoją lokalną strefę czasową.

Speedwave rejestruje zdarzenia na poziomie trace bez możliwości przełączenia, dzięki czemu eksport diagnostyczny zawsze zawiera pełny kontekst techniczny i nie wymaga ponownego odtwarzania problemu z wyższym poziomem szczegółowości. Jedynie wybrane biblioteki zewnętrzne generujące duży szum informacyjny są ograniczone do poziomu warn, aby zachować czytelność strumienia.

W aplikacji Desktop logi są również zapisywane na dysku: w katalogu ~/Library/Logs/pl.speedwave.desktop w systemie macOS oraz %LOCALAPPDATA%/pl.speedwave.desktop/logs w systemie Windows. Pliki podlegają rotacji po osiągnięciu 50 MB (zachowywanych jest 10 ostatnich segmentów).

Mechanizm tokenizacji PII tworzy własne rejestry audytowe na dysku dla każdego projektu: plik ~/.speedwave/audit/<project>/audit-proxy.jsonl rejestruje reguły dopasowane podczas skanowania żądań wychodzących do dostawcy modelu, natomiast audit-hub.jsonl zawiera wpisy ze skanowania wyników zwracanych przez integracje. Rejestry zawierają wyłącznie informacje o dopasowanych regułach i licznikach, nigdy oryginalne wartości danych. Szczegółowe zasady działania opisano w sekcji Tokenizacja.

Po ustawieniu zmiennej ANTHROPIC_LOG=debug rejestrowany jest surowy ruch sieciowy SDK Claude Code. Zamiast wypisywać wielowierszowe treści, Speedwave przekształca każde żądanie i odpowiedź w zwięzłe jedno- lub dwuliniowe podsumowanie ze znacznikiem [log_ID]:

-> POST /v1/messages (model=claude-opus-4, max_tokens=4096, stream=true, messages=12) [a1b2c3]
<- 200 /v1/messages (content-type=text/event-stream, from api.anthropic.com, in 842ms) [a1b2c3]

SDK emituje każdą odpowiedź w trzech fragmentach, które Speedwave łączy w jeden wiersz. Nierozpoznane komunikaty są przekazywane bez zmian.

Przycisk export diagnostics tworzy archiwum ZIP zawierające logi aplikacji, logi kontenerów oraz informacje o środowisku systemowym. Wszystkie dane poufne i tokeny są automatycznie usuwane przed zapisem. Przycisk jest nieaktywny podczas trwania eksportu oraz gdy żaden projekt nie jest otwarty.

  1. W widoku /logs kliknij przycisk export diagnostics. Podczas tworzenia archiwum na przycisku widoczny jest komunikat “exporting…”.
  2. Po zakończeniu operacji wyświetli się okno Diagnostics archive saved ze ścieżką do wygenerowanego pliku ZIP.
  3. Kliknij copy path, aby skopiować ścieżkę do schowka, a następnie zamknij okno (close).
  4. Przekaż plik do działu wsparcia technicznego lub dołącz go do zgłoszenia błędu. Plik nie jest wysyłany automatycznie.

Archiwum jest zapisywane w katalogu Pobrane (lub domowym) pod nazwą speedwave-diagnostics-<unix-timestamp>.zip.

  • Folderspeedwave-diagnostics-<timestamp>.zip
    • Folderlogs/
      • *.log pliki logów aplikacji
    • Foldercontainers/
      • compose.log logi kontenerów i narzędzia compose
      • compose.yml definicja compose dla projektu
    • Foldermcp-os/
      • mcp-os.log jeśli występuje
    • Folderclaude/
      • claude-session.log jeśli występuje
    • Folderlima/
      • serial.log log konsoli szeregowej Lima, tylko macOS
    • system-info.txt system operacyjny, architektura, wersja aplikacji, claude_pinned (stała, zweryfikowana wersja Claude Code)

Pliki opcjonalne (log mcp-os, log sesji Claude, serial.log środowiska Lima tylko macOS) są dołączane wyłącznie wtedy, gdy istnieją w systemie.

Przed zapisaniem archiwum ZIP wbudowany mechanizm sanityzacji (anonimizacji) zastępuje wszelkie dane wrażliwe znacznikiem ***REDACTED***:

KategoriaPrzykłady
Klucze APIAnthropic (sk-ant-...), Google (AIza...), ogólne sk-*
Tokeny repozytoriów GitGitHub (ghp_, ghs_, gho_, ghu_, github_pat_), GitLab (glpat-), Atlassian Cloud
Tokeny komunikatorówSlack (xoxb, xoxp, xoxa, xoxr, xoxs, xoxe)
Nagłówki autoryzacyjneNagłówki Authorization/Bearer, Set-Cookie/Cookie, tokeny JWT, poświadczenia w URL (userinfo)
Inne dane wrażliweKlucze prywatne PEM, nazwy użytkowników z katalogu domowego, parametry password/secret/api_key/token, X-Redmine-API-Key, nagłówki eksportera OTEL

W przypadku zrzutów awaryjnych (crash payload), których moduł sanityzacji nie jest w stanie sparsować jako tekst, zawartość jest zastępowana komunikatem unknown panic payload, aby wykluczyć ryzyko wycieku danych. Katalog z tokenami uwierzytelniającymi nigdy nie jest dołączany do archiwum ZIP. Wyjątek stanowi plik system-info.txt, który zawiera jawne informacje o systemie operacyjnym, architekturze, wersji aplikacji oraz stałej, zweryfikowanej wersji Claude Code (claude_pinned).

W razie problemów ze zgodnością wersji sprawdź w pierwszej kolejności wartość claude_pinned w pliku system-info.txt. Speedwave korzysta ze stałej, przetestowanej wersji, więc rozbieżność oznacza zazwyczaj konieczność przebudowy kontenera claude. Sposób rozwiązania tego problemu opisano w rozdziale Rozwiązywanie problemów.