Opracowując aplikacje, warto np. zapisywać informacje, które pomogą nam zdiagnozować błędy podczas programowania, zidentyfikować i zdiagnozować problemy klientów oraz realizować inne cele.
Apps Script udostępnia 3 różne mechanizmy logowania:
Wbudowany dziennik wykonywania Apps Script. Ten dziennik jest mały i można go odtwarzać w czasie rzeczywistym, ale działa on tylko przez krótki czas.
Interfejs Cloud Logging w konsoli programisty udostępnia logi, które są przechowywane przez wiele dni po utworzeniu.
Interfejs Raportowanie błędów w Konsoli programisty, który zbiera i rejestruje błędy występujące podczas działania skryptu.
Zostały one opisane w poniższych sekcjach. Oprócz tych mechanizmów możesz też utworzyć własny kod rejestratora, który np. 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 logu wykonywania. Aby wyświetlić te logi, u góry edytora kliknij Dziennik wykonywania. Gdy uruchomisz funkcję lub użyjesz debugera, logi będą przesyłane strumieniowo w czasie rzeczywistym.
W wbudowanym logu wykonawczym możesz używać usług logowania Logger
lub console
.
Te logi są przeznaczone do prostych testów podczas programowania i debugowania, a ponadto nie są trwałe.
Przykład:
Po uruchomieniu tego skryptu z danymi wejściowymi „2” i „jan@example.com” zapisywane są te logi:
[16-09-12 13:50:42:193 PDT] E-mail dotyczący wiersza 2 wysłany na adres jan@example.com
[16-09-12 13:50:42:271 PDT] Dane w wierszu 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 wymagasz logowania trwającego kilka dni lub potrzebujesz bardziej złożonego sposobu logowania w środowisku produkcyjnym wielu użytkowników, Cloud Logging jest dobrym rozwiązaniem. Zobacz Limity Cloud Logging, aby dowiedzieć się więcej o przechowywaniu danych i innych limitach.
Jeśli potrzebujesz więcej miejsca na logowanie, możesz przesłać prośbę o zwiększenie limitu w Google Cloud Platform. W tym celu musisz mieć dostęp do projektu Cloud Platform używanego przez Twój skrypt.
Korzystanie z Cloud Logging
Logi Cloud są dołączane do projektu GCP powiązanego ze skryptem Apps Script. Uproszczoną wersję tych logów możesz wyświetlić w panelu Apps Script.
Aby w pełni wykorzystać możliwości Cloud Logging i jego możliwości, użyj standardowego projektu GCP w projekcie skryptu. Dzięki temu możesz uzyskać dostęp do logów Cloud bezpośrednio w konsoli GCP i uzyskać więcej opcji wyświetlania i filtrowania.
Przy logowaniu należy unikać zapisywania danych osobowych użytkowników, takich jak adresy e-mail. Logi Cloud są automatycznie oznaczane aktywnymi kluczami użytkowników, które w razie potrzeby można zlokalizować.
Korzystając z funkcji dostępnych w usłudze Apps Script console
, możesz rejestrować ciągi tekstowe, sformatowane ciągi znaków, a nawet obiekty JSON.
Poniższy przykład pokazuje, jak używać usługi console
do logowania informacji w Cloud Operations.
Aktywne klucze użytkowników
Tymczasowe klucze aktywnych użytkowników to wygodny sposób na identyfikowanie unikalnych użytkowników we wpisach Cloud Logging bez ujawniania tożsamości tych użytkowników. Klucze są podzielone według skryptu i zmieniają się mniej więcej raz w miesiącu, aby zapewnić większe bezpieczeństwo, na przykład gdy użytkownik ujawni deweloperowi swoją tożsamość, na przykład podczas zgłaszania problemu.
Tymczasowe klucze użytkowników są lepsze niż identyfikatory rejestrowania, takie jak adresy e-mail, ponieważ:
- Nie musisz dodawać niczego do dziennika – są już one dostępne.
- Nie wymagają autoryzacji użytkownika.
- Chronią prywatność użytkowników.
Aby znaleźć tymczasowe aktywne klucze użytkowników we wpisach Cloud Logging, wyświetl logi Cloud w konsoli GCP. Możesz to zrobić tylko wtedy, gdy projekt skryptu korzysta ze standardowego projektu GCP, do którego masz dostęp. Po otwarciu projektu GCP w konsoli wybierz odpowiedni wpis logu i rozwiń go, aby wyświetlić metadane > etykiety > script.googleapis.com/user_key.
Możesz też uzyskać tymczasowy aktywny klucz użytkownika, wywołując skrypt Session.getTemporaryActiveUserKey()
w swoim skrypcie. Jednym ze sposobów użycia tej metody jest wyświetlanie klucza użytkownikowi podczas wykonywania skryptu. Następnie użytkownicy mogą uwzględnić klucze podczas zgłaszania problemów, aby pomóc w zidentyfikowaniu odpowiednich logów.
Rejestrowanie wyjątków
Logowanie wyjątków wysyła nieobsługiwane wyjątki w kodzie projektu skryptu do Cloud Logging wraz ze zrzutem stosu.
Aby wyświetlić logi wyjątków, wykonaj te czynności:
- Otwórz projekt Apps Script.
- Po lewej stronie kliknij Uruchomienia .
- U góry kliknij Dodaj filtr > Stan.
- Zaznacz pola wyboru Failed (Niepowodzenie) i użyj limitu czasu.
Możesz też wyświetlić zarejestrowane wyjątki w konsoli GCP, jeśli Twój projekt skryptu korzysta ze standardowego projektu GCP, do którego masz dostęp.
Włącz logowanie wyjątków
Rejestrowanie wyjątków jest domyślnie włączone w nowych projektach. Aby włączyć logowanie wyjątków w starszych projektach, wykonaj te czynności:
- Otwórz projekt skryptu.
- Po lewej stronie kliknij Ustawienia projektu .
- Zaznacz pole wyboru Zarejestruj nieobsłużone wyjątki dla operacji Cloud.
Raportowanie błędów
Rejestrowanie wyjątków automatycznie integruje się z Cloud Error Reporting, która gromadzi i wyświetla błędy wygenerowane w skrypcie. Raporty o błędach Cloud możesz wyświetlić w konsoli GCP Jeśli pojawi się prośba o skonfigurowanie usługi Error Reporting, oznacza to, że skrypt nie zarejestrował jeszcze żadnych wyjątków. Nie musisz nic konfigurować oprócz włączenia logowania wyjątków.
Wymagania dotyczące logowania
Nie ma wymagań dotyczących korzystania z wbudowanego dziennika wykonywania.
Uproszczoną wersję logów Cloud możesz wyświetlić w panelu Apps Script. Aby w pełni wykorzystać możliwości 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 GCP.