Tworząc aplikację, często chcesz zapisać informacje, które pomogą nam diagnozowanie wad w fazie rozwoju, rozpoznanie i diagnozowanie problemów u klienta oraz w innych celach.
Apps Script udostępnia 3 różne mechanizmy logowania:
wbudowanego dziennika wykonywania Apps Script, Dziennik ten jest niewymagający dużych ilości danych i strumieniuje w czasie rzeczywistym, ale pozostaje tylko przez w krótkim czasie.
Interfejs Cloud Logging w Developer Console, która udostępnia dzienniki, które utrzymują się przez wiele dni po proces tworzenia.
Interfejs Error Reporting w Konsoli programisty, która gromadzi i rejestruje błędy występujące po gdy skrypt jest uruchomiony.
Zostały one opisane w dalszej części tego artykułu. Oprócz tych mechanizmów możesz również utworzyć własny kod rejestrujący, który np. zapisuje informacje do arkusza kalkulacyjnego logowania. lub bazie danych JDBC.
Używanie dziennika wykonywania Apps Script
Podstawowym sposobem logowania się w Apps Script jest użycie wbudowanego dziennika wykonywania. Aby wyświetlić te logi, u góry w edytorze kliknij Execution log (Dziennik wykonywania). Gdy uruchomisz funkcję lub użyjesz aby logi były strumieniowane w czasie rzeczywistym.
Możesz użyć Logger
lub
console
usług logowania w
dziennik wykonywania.
Są one przeznaczone do prostych kontroli podczas programowania i debugowania. i nie trwają zbyt długo.
Na przykład użyj tej funkcji:
Gdy ten skrypt jest uruchamiany z wartościami wejściowymi „2” i „jan@example.com” następujące logi:
[16-09-12 13:50:42:193 PDT] Wysyłanie wiersza 2 danych e-mailem 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 Google Cloud Platform (GCP) Cloud Logging. Gdy wymagają rejestrowania, które utrzymuje się przez kilka dni, lub wymaga bardziej złożonego logowania; dla środowiska produkcyjnego, w którym ma wielu użytkowników, preferowana jest usługa Cloud Logging wyboru. Zobacz Limity i ograniczenia Cloud Logging dotyczące przechowywania danych i innych informacji o limitach.
Jeśli potrzebujesz większego limitu logowania, prześlij prośbę o zwiększenie limitu w Google Cloud Platform. Wymaga to dostępu do Projekt Cloud Platform których wykorzystuje Twój skrypt.
Korzystanie z Cloud Logging
Logi Cloud są dołączone do projektu Google Cloud. powiązane z Apps Script. Możesz wyświetlić ich uproszczoną wersję w panelu Apps Script.
Aby w pełni wykorzystać możliwości usługi Cloud Logging i jej możliwości, użyj standardowy projekt Google Cloud z projektem skryptu. Dzięki temu masz dostęp do logów Cloud bezpośrednio w Konsola GCP i udostępnia więcej opcji wyświetlania i filtrowania.
Podczas rejestrowania należy unikać rejestrowania prywatnych danych, informacje o użytkowniku, takie jak adresy e-mail. Logi Cloud są automatycznie oznaczone jako aktywne klucze użytkowników w razie potrzeby możesz użyć do znalezienia komunikatów z dziennika konkretnego użytkownika.
Za pomocą parametru
funkcje dostępne w języku Apps Script,
console
.
Poniższy przykład pokazuje, jak używać narzędzia console
.
loguje informacje w Cloud Operations.
Aktywne klucze użytkowników
Tymczasowe, aktywne klucze użytkowników umożliwiają wygodne wykrywanie unikalnych użytkowników wpisy Cloud Log bez ujawniania tożsamości tych użytkowników; Klucze ustalane na podstawie skryptu, a zmieniają się mniej więcej raz w miesiącu, aby zapewnić dodatkowe bezpieczeństwo. czy użytkownik ujawni swoją tożsamość deweloperowi, na przykład podczas zgłaszania ze swoim zgłoszeniem.
Tymczasowe, aktywne klucze użytkownika są lepsze niż identyfikatory logowania, takie jak adresy e-mail , ponieważ:
- Nie musisz niczego dodawać do zapisanych danych. już tam są!
- Nie wymagają autoryzacji użytkownika.
- Zapewniają ochronę prywatności użytkownika.
Aby znaleźć tymczasowe aktywne klucze użytkowników we wpisach Cloud Log, wyświetlić logi Cloud w konsoli Google Cloud. Możesz to zrobić tylko wtedy, gdy Twój projekt skryptu używa standardowy projekt Google Cloud do których masz dostęp. Gdy otworzysz projekt Google Cloud w konsoli, wybierz odpowiedni wpis w dzienniku i rozwiń go, aby go wyświetlić metadane > etykiety > script.googleapis.com/user_key.
Tymczasowy klucz aktywnego użytkownika możesz też uzyskać, dzwoniąc
Session.getTemporaryActiveUserKey()
w skrypcie. Jednym ze sposobów użycia tej metody jest wyświetlenie klucza użytkownikowi
w czasie wykonywania skryptu. Następnie użytkownicy mogą uwzględnić swoje klucze
podczas zgłaszania problemów,
aby zidentyfikować odpowiednie dzienniki.
Logowanie wyjątków
Logowanie wyjątków wysyła nieobsłużone wyjątki w kodzie projektu skryptu w Cloud Logging, wraz ze zrzutem stosu.
Aby wyświetlić dzienniki 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 Niepowodzenie i Przekroczono limit czasu.
Możesz też wyświetlić zarejestrowane wyjątki w konsoli GCP czy projekt skryptu korzysta standardowy projekt Google Cloud do których masz dostęp.
Włącz logowanie wyjątków
Logowanie wyjątków jest domyślnie włączone w nowych projektach. Aby włączyć wyjątek w starszych projektach wykonaj te czynności:
- Otwórz projekt skryptu.
- Po lewej stronie kliknij Ustawienia projektu.
- Zaznacz pole wyboru Włącz nieobsłużone wyjątki od Cloud Operations.
Error Reporting
Logowanie wyjątków automatycznie integruje się z Cloud Error Reporting, usługa zbierająca i wyświetlająca błędy wykryte w skrypcie. Dostępne opcje wyświetlić raporty o błędach usługi Cloud w konsoli Google Cloud. Jeśli pojawi się prośba o skonfigurowanie usługi Error Reporting to dlatego, że skrypt nie zarejestrował jeszcze żadnych wyjątków. Powyżej, gdy nie jest wymagana żadna konfiguracja włączenie rejestrowania wyjątków.
Wymagania dotyczące logowania
Nie ma wymagań, aby korzystać z wbudowanego dziennika wykonywania.
Uproszczoną wersję logów Cloud możesz wyświetlić w Panel Apps Script. Jednak, aby: jak najlepiej korzystać z Cloud Logging i raportowania błędów do projektu skryptu w GCP. Jest to możliwe tylko wtedy, gdy projekt skryptu korzysta ze standardowego projektu Google Cloud.