obsidian-observability
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
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
Utwórz plik
src/utils/logger.tsw projekcie wtyczki Obsidiana. Zdefiniuj typLogLevelz czterema poziomami: debug, info, warn i error, oraz interfejsLogEntryzawierający timestamp, level, message, opcjonalny context i duration.Zaimplementuj klasę
Loggerz konstruktorem przyjmującym identyfikator wtyczki i poziom logowania. Dodaj prywatne polehistorydo przechowywania ostatnich 100 wpisów oraz mapęlevelPrioritydo porównywania ważności poziomów logowania.Dodaj metodę
shouldLog()sprawdzającą, czy wpis o danym poziomie powinien być zalogowany na podstawie bieżącego poziomu. Implementuj metodydebug(),info(),warn()ierror()do rejestrowania wiadomości z odpowiednimi kontekstami.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.
Dodaj metodę
setLevel()umożliwiającą zmianę poziomu logowania w locie. Implementuj metodęgetHistory()zwracającą ostatnie wpisy logów do analizy wydajności.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.