Toolverse
All skills

obsidian-observability

by jeremylongshore

Set up comprehensive logging and monitoring for Obsidian plugins.\nUse when implementing debug logging, tracking plugin performance,\nor setting up error reporting for your Obsidian plugin.\nTrigger with phrases like \

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Category
Security
Views
32

About this skill

Set up comprehensive logging and monitoring for Obsidian plugins.\nUse when implementing debug logging, tracking plugin performance,\nor setting up error reporting for your Obsidian plugin.\nTrigger with phrases like \

How to use

  1. Utwórz plik src/utils/logger.ts w projekcie wtyczki Obsidiana. Zdefiniuj typ LogLevel z czterema poziomami: debug, info, warn i error, oraz interfejs LogEntry zawierający timestamp, level, message, opcjonalny context i duration.

  2. Zaimplementuj klasę Logger z konstruktorem przyjmującym identyfikator wtyczki i poziom logowania. Dodaj prywatne pole history do przechowywania ostatnich 100 wpisów oraz mapę levelPriority do porównywania ważności poziomów logowania.

  3. Dodaj metodę shouldLog() sprawdzającą, czy wpis o danym poziomie powinien być zalogowany na podstawie bieżącego poziomu. Implementuj metody debug(), info(), warn() i error() do rejestrowania wiadomości z odpowiednimi kontekstami.

  4. Zintegruj logger z poleceniami wtyczki — zaloguj czas wykonania każdego polecenia za pomocą timera. Dla operacji na plikach zliczaj liczbę operacji, a dla błędów rejestruj szczegóły wyjątku.

  5. Dodaj metodę setLevel() umożliwiającą zmianę poziomu logowania w locie. Implementuj metodę getHistory() zwracającą ostatnie wpisy logów do analizy wydajności.

  6. Monitoruj metryki takie jak cache hit ratio i użycie pamięci, dodając je do kontekstu logów. Przechowuj te dane w historii i udostępniaj je poprzez API wtyczki do debugowania i optymalizacji.

Related skills