Logowanie w ScriptCode
Dostępne metody logowania
W środowisku ScriptCode dostępny jest obiekt Logger, który umożliwia logowanie zdarzeń i danych z poziomu skryptu.
Domyślnie wszystkie argumenty przekazane do metod Logger.<method>() są traktowane jako sensytywne, czyli potencjalnie zawierające dane wrażliwe.
Dostępne metody logowania:
function callService(context) {
Logger.info('COMPLETE TASK EXECUTED [arg1={}, arg2={}]', 'arg1', 'arg2');
Logger.debug('COMPLETE TASK EXECUTED [arg1={}, arg2={}]', 'arg1', 'arg2');
Logger.warn('COMPLETE TASK EXECUTED [arg1={}, arg2={}]', 'arg1', 'arg2');
Logger.error('COMPLETE TASK EXECUTED [arg1={}, arg2={}]', 'arg1', 'arg2');
Logger.trace('COMPLETE TASK EXECUTED [arg1={}, arg2={}]', 'arg1', 'arg2');
}Wszystkie argumenty powyższych metod są automatycznie traktowane jako dane sensytywne i w logach niesensytywnych zostaną ukryte.
Domyślnie logowane dane
Platforma Eximee domyślnie loguję oraz traktuje jako sensytywne następujące elementy środowiska ScriptCode:
dane wejściowe formularzy (
input),dane wyjściowe (
output),treść żądań (request) wysyłanych do usług zewnętrznych (np. przez REST API),
treść odpowiedzi (response) otrzymywanych z tych usług.
Oznacza to, że nawet jeśli nie zostaną one jawnie oznaczone jako sensytywne w kodzie, nie będą wypisywane w logach niesensytywnych w sposób umożliwiający odczytanie rzeczywistej zawartości.
Zostaną zastąpione znacznikami _SENSITIVE_DATA_START_ ... _SENSITIVE_DATA_STOP_ lub #hashed#, w zależności od typu aplikacji i kontekstu wykonania
Logowanie sensytywne i niesensytywne
Jeśli chcemy, aby część danych została wypisana w logach niesensytywnych bez maskowania, należy użyć metody nonsensitive(), która oznacza przekazany argument jako niesensytywny.
Przykład:
W tym przykładzie:
arg1zostanie zapisany w logu w formie jawnej,arg2zostanie ukryty (zastąpiony przez znacznik danych sensytywnych).
Format logów
Poniżej przedstawiono przykłady formatów logów dla różnych aplikacji platformy Eximee.
Aplikacja process-handlers
process-handlers Aplikacja webforms
webforms Dobre praktyki
Używaj
nonsensitive()tylko wtedy, gdy masz pewność, że dane nie zawierają informacji wrażliwych.Stosuj odpowiedni poziom logowania:
traceidebug– do analizy szczegółów działania skryptu,info– dla komunikatów o przebiegu procesu,warn– dla sytuacji nietypowych, ale niekrytycznych,error– dla błędów wymagających interwencji.
Unikaj logowania całych obiektów lub dużych struktur danych.
Last updated
Was this helpful?
