Podczas tworzenia aplikacji często chcesz rejestrować informacje, które pomogą Ci w diagnozowaniu błędów w trakcie programowania, identyfikowaniu i rozwiązywaniu problemów klientów oraz w innych celach.
Apps Script udostępnia 3 różne mechanizmy rejestrowania:
Wbudowany dziennik wykonania Apps Script. Ten dziennik jest lekki i przesyłany strumieniowo w czasie rzeczywistym, ale jest przechowywany tylko przez krótki czas.
Interfejs Cloud Logging w Konsoli programisty, który zawiera logi przechowywane przez wiele dni po ich utworzeniu.
Interfejs Raportowanie błędów w konsoli dewelopera, który zbiera i rejestruje błędy występujące podczas działania skryptu.
Opisujemy je w kolejnych sekcjach. Oprócz tych mechanizmów możesz też utworzyć własny kod rejestrujący, który na przykład zapisuje informacje w arkuszu kalkulacyjnym lub bazie danych JDBC.
Korzystanie z dziennika wykonywania Apps Script
Podstawowym sposobem logowania w Apps Script jest użycie wbudowanego dziennika wykonania. Aby wyświetlić te logi, u góry edytora kliknij Dziennik wykonywania. Gdy uruchamiasz funkcję lub używasz debugera, dzienniki są przesyłane strumieniowo w czasie rzeczywistym.
W wbudowanym dzienniku wykonania możesz używać usług rejestrowania Logger
lub console
.
Te logi są przeznaczone do prostych testów podczas programowania i debugowania i nie są przechowywane zbyt długo.
Weźmy na przykład tę funkcję:
Gdy ten skrypt zostanie uruchomiony z danymi wejściowymi „2” i „john@example.com”, zostaną zapisane te logi:
[16-09-12 13:50:42:193 PDT] Wysyłanie e-maila z wierszem danych 2 na adres john@example.com
[16-09-12 13:50:42:271 PDT] Dane wiersza 2: koszt 103,24
Cloud Logging
Apps Script zapewnia też częściowy dostęp do usługi Cloud Logging w Google Cloud Platform (GCP). Jeśli potrzebujesz logowania, które będzie trwało kilka dni, lub bardziej złożonego rozwiązania do logowania w środowisku produkcyjnym dla wielu użytkowników, wybierz Cloud Logging. Szczegółowe informacje o przechowywaniu danych i innych limitach znajdziesz w sekcji Limity Cloud Logging.
Jeśli potrzebujesz większego limitu logowania, możesz przesłać prośbę o zwiększenie limitu Google Cloud Platform. Wymaga to dostępu do projektu Cloud Platform, z którego korzysta skrypt.
Korzystanie z Cloud Logging
Dzienniki Cloud są dołączone do projektu Google Cloud powiązanego z Twoim skryptem Apps Script. Uproszczoną wersję tych logów możesz wyświetlić w panelu Apps Script.
Aby w pełni korzystać z Cloud Logging i jego funkcji, używaj w projekcie skryptu standardowego projektu Google Cloud. Dzięki temu możesz uzyskać dostęp do logów Cloud bezpośrednio w konsoli GCP i masz więcej opcji wyświetlania i filtrowania.
.Podczas rejestrowania zdarzeń warto unikać zapisywania jakichkolwiek danych osobowych użytkownika, takich jak adresy e-mail. Dzienniki w chmurze są automatycznie oznaczane kluczami aktywnych użytkowników, których możesz używać do wyszukiwania w razie potrzeby wiadomości w dzienniku konkretnego użytkownika.
Możesz rejestrować ciągi znaków, sformatowane ciągi znaków, a nawet obiekty JSON za pomocą funkcji udostępnianych przez usługę console
Apps Script.
Poniższy przykład pokazuje, jak używać usługi console
do rejestrowania informacji w Cloud Operations.
Klucze aktywnych użytkowników
Tymczasowe klucze aktywnych użytkowników to wygodny sposób na identyfikowanie unikalnych użytkowników we wpisach w Cloud Log bez ujawniania ich tożsamości. Klucze są przypisane do skryptu i zmieniają się mniej więcej raz w miesiącu, aby zapewnić dodatkowe bezpieczeństwo, gdyby użytkownik ujawnił swoją tożsamość deweloperowi, np. podczas zgłaszania problemu.
Tymczasowe klucze aktywnych użytkowników są lepsze od identyfikatorów logowania, takich jak adresy e-mail, ponieważ:
- Nie musisz niczego dodawać do logowania – te informacje już tam są.
- Nie wymagają autoryzacji użytkownika.
- Chronią prywatność użytkowników.
Aby znaleźć tymczasowe klucze aktywnych użytkowników w swoich wpisach w logach Cloud, wyświetl logi Cloud w konsoli Google Cloud. Możesz to zrobić tylko wtedy, gdy Twój projekt skryptu korzysta ze standardowego projektu Google Cloud, do którego masz dostęp. Po otwarciu projektu Google Cloud w konsoli wybierz interesujący Cię wpis w logu i rozwiń go, aby wyświetlić metadane > etykiety > script.googleapis.com/user_key.
Możesz też uzyskać tymczasowy klucz aktywnego użytkownika, wywołując w skrypcie funkcję
Session.getTemporaryActiveUserKey()
. Jednym ze sposobów użycia tej metody jest wyświetlanie klucza użytkownikowi podczas działania skryptu. Użytkownicy mogą następnie dołączyć swoje klucze podczas zgłaszania problemów, aby ułatwić Ci identyfikowanie odpowiednich dzienników.
Rejestrowanie wyjątków
Logowanie wyjątków wysyła nieobsłużone wyjątki w kodzie projektu skryptu do Cloud Logging wraz ze śladem stosu.
Aby wyświetlić logi wyjątków, wykonaj te czynności:
- Otwórz projekt Apps Script.
- Po lewej stronie kliknij Wykonania .
- U góry kliknij Dodaj filtr > Stan.
- Zaznacz pola wyboru Nieudane i Przekroczono limit czasu.
Możesz też wyświetlić zalogowane wyjątki w konsoli GCP, jeśli Twój projekt skryptu korzysta ze standardowego projektu Google Cloud, do którego masz dostęp.
Włącz logowanie wyjątków
Rejestrowanie wyjątków jest domyślnie włączone w przypadku nowych projektów. Aby włączyć rejestrowanie wyjątków w starszych projektach, wykonaj te czynności:
- Otwórz projekt skryptu.
- Po lewej stronie kliknij Ustawienia projektu .
- Zaznacz pole wyboru Loguj niewykryte wyjątki w Cloud Operations.
Error Reporting
Rejestrowanie wyjątków jest automatycznie integrowane z Cloud Error Reporting, usługą, która agreguje i wyświetla błędy występujące w skrypcie. Raporty o błędach w Cloud możesz wyświetlać w konsoli Google Cloud. Jeśli pojawi się prośba o „Skonfigurowanie raportowania błędów”, oznacza to, że skrypt nie zarejestrował jeszcze żadnych wyjątków. Nie musisz niczego konfigurować poza włączeniem rejestrowania wyjątków.
Wymagania dotyczące rejestrowania
Nie ma żadnych wymagań dotyczących korzystania z wbudowanego dziennika wykonania.
Uproszczoną wersję logów Cloud możesz wyświetlić w panelu Apps Script. Aby jednak w pełni korzystać z Cloud Logging i raportowania błędów, musisz mieć dostęp do projektu GCP skryptu. Jest to możliwe tylko wtedy, gdy projekt skryptu korzysta ze standardowego projektu Google Cloud.