Podczas tworzenia aplikacji często chcesz rejestrować informacje, aby diagnozować błędy podczas tworzenia, identyfikować i diagnozować problemy 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ła dane w czasie rzeczywistym, ale przechowywany jest tylko przez krótki czas.
Interfejs Cloud Logging w Konsoli programisty, który udostępnia dzienniki, które są przechowywane przez wiele dni po ich utworzeniu.
interfejs zgłaszania błędów w Konsoli programisty, który zbiera i rejestruje błędy występujące podczas działania skryptu;
Opisują je kolejne sekcje. Oprócz tych mechanizmów możesz też tworzyć 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 podejściem do rejestrowania w Apps Script jest korzystanie z wbudowanego dziennika wykonania. Aby wyświetlić te logi, u góry edytora kliknij Dziennik wykonywania. Gdy uruchomisz funkcję lub użyjesz debugera, dzienniki będą przesyłane w czasie rzeczywistym.
Wbudowany dziennik wykonania może korzystać z usług rejestrowania Logger
lub console
.
Te logi są przeznaczone do prostych kontroli podczas tworzenia i debugowania. Nie są one przechowywane zbyt długo.
Weź pod uwagę na przykład tę funkcję:
Gdy ten skrypt jest uruchamiany z danymi wejściowymi „2” i „john@example.com”, generuje następujące logi:
[16-09-12 13:50:42:193 PDT] Wysyłanie e-maila z danymi z drugiego wiersza na adres john@example.com
[16-09-12 13:50:42:271 PDT] Dane z drugiego wiersza: 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 trwa kilka dni, lub bardziej złożonego rozwiązania do logowania w środowisku produkcyjnym dla wielu użytkowników, lepszym rozwiązaniem będzie logowanie w chmurze. Więcej informacji o czasie przechowywania danych i innych limitach znajdziesz w limitach i kwotach Cloud Logging.
Jeśli potrzebujesz większej ilości miejsca na logi, możesz przesłać prośbę o limit Google Cloud Platform. Wymaga to dostępu do projektu Cloud Platform, którego używa Twój skrypt.
Korzystanie z Cloud Logging
Logi Cloud są dołączane do projektu Google Cloud powiązanego z Twoim plikiem 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 możliwości, użyj standardowego projektu Google Cloud w swoim projekcie skryptu. Dzięki temu możesz uzyskiwać dostęp do logów Cloud bezpośrednio w konsoli GCP i mieć więcej opcji wyświetlania i filtrowania.
Podczas rejestrowania danych należy unikać rejestrowania jakichkolwiek informacji osobistych użytkownika, takich jak adresy e-mail. Dzienniki w chmurze są automatycznie oznaczane kluczami aktywnych użytkowników, których można użyć do znalezienia w razie potrzeby wiadomości z dziennika konkretnego użytkownika.
Za pomocą funkcji udostępnianych przez usługę Apps Script console
możesz rejestrować ciągi znaków, sformatowane ciągi znaków, a nawet obiekty JSON.
Ten przykład pokazuje, jak za pomocą usługi console
rejestrować informacje w Cloud Operations.
Klucze aktywnego użytkownika
Tymczasowe klucze aktywnych użytkowników umożliwiają wygodne rozpoznawanie poszczególnych użytkowników w rekordach dziennika usługi Cloud, bez ujawniania ich tożsamości. Klucze są generowane dla każdego skryptu i zmieniają się mniej więcej raz w miesiącu, aby zapewnić dodatkowe bezpieczeństwo, gdyby użytkownik ujawnił swoją tożsamość deweloperowi, na przykład podczas zgłaszania problemu.
Tymczasowe klucze aktywnych użytkowników są lepsze niż identyfikatory logowania, takie jak adresy e-mail, ponieważ:
- Nie musisz nic dodawać do logowania; są już tam dostępne.
- Nie wymagają one autoryzacji użytkownika.
- Chronią one prywatność użytkowników.
Aby znaleźć tymczasowo aktywne klucze użytkownika w rekordach logów Cloud, otwórz 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 dzienniku i rozwiń go, aby wyświetlić metadata > labels > script.googleapis.com/user_key.
Możesz też uzyskać tymczasowy klucz aktywnego użytkownika, wywołując funkcję Session.getTemporaryActiveUserKey()
w swoim skrypcie. Jednym ze sposobów użycia tej metody jest wyświetlenie klucza użytkownikowi podczas uruchamiania skryptu. Użytkownicy mogą dołączać klucze podczas zgłaszania problemów, aby ułatwić Ci identyfikację odpowiednich dzienników.
Logowanie wyjątków
Rejestrowanie wyjątków wysyła do Cloud Logging nieobsługiwane wyjątki w kodzie projektu skryptu wraz z wyświetleniem stosu.
Aby wyświetlić dzienniki wyjątków:
- Otwórz projekt Apps Script.
- Po lewej stronie kliknij Wykonania .
- U góry kliknij Dodaj filtr > Stan.
- Zaznacz pola wyboru Nieudane i Wystąpił limit czasu.
Jeśli projekt skryptu korzysta z standardowego projektu Google Cloud, do którego masz dostęp, możesz też wyświetlić zapisane wyjątki w konsoli GCP.
Włączanie rejestrowania 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:
- Otwórz projekt skryptu.
- Po lewej stronie kliknij Ustawienia projektu .
- Zaznacz pole wyboru Loguj niewykryte wyjątki w Cloud Operations.
Error Reporting
Logowanie wyjątków jest automatycznie integrowane z raportowaniem błędów w chmurze, czyli usługą, która agreguje i wyświetla błędy wygenerowane w skrypcie. Raporty o błędach w usłudze Cloud możesz wyświetlić w konsoli Google Cloud. Jeśli pojawi się prośba o „Skonfigurowanie zgłaszania błędów”, oznacza to, że skrypt nie zapisał jeszcze żadnych wyjątków. Nie musisz nic konfigurować poza włączeniem rejestrowania wyjątków.
Wymagania dotyczące rejestrowania
Korzystanie z wbudowanego dziennika wykonania nie wymaga spełnienia żadnych wymagań.
Uproszczoną wersję logów Cloud możesz wyświetlić w panelu Apps Script. Aby jednak w pełni korzystać z funkcji Cloud Logging i raportowania błędów, musisz mieć dostęp do projektu GCP, w którym znajduje się skrypt. Jest to możliwe tylko wtedy, gdy projekt skryptu korzysta z standardowego projektu Google Cloud.