Targety to miejsca, w których zapisywane są logi aplikacji, umożliwiające przechowywanie i analizowanie danych dotyczących działania systemu. Aby skonfigurować logi w aplikacji, należy przejść do sekcji konfiguracji w zakładce „Logging Settings” i wybrać „Targets configuration”.
Po otwarciu tej zakładki użytkownik zobaczy okno, które po lewej stronie wyświetla listę dostępnych targetów, natomiast po prawej stronie prezentuje szczegółowe opcje konfiguracji dla wybranego targetu. Dzięki temu interfejs pozwala na intuicyjne zarządzanie ustawieniami logowania oraz dopasowanie ich do indywidualnych potrzeb aplikacji.
Lista dostępnych targetów Targets configuration:
Element Targets configuration zawiera pięć zdefiniowanych targetów, z których cztery są aktywnie używane. Każdy z tych targetów pełni określoną funkcję w logowaniu aplikacji, umożliwiając różne sposoby przechowywania i analizy danych. Dzięki temu system logowania jest elastyczny i dostosowany do różnorodnych potrzeb, takich jak debugowanie, monitorowanie wydajności czy archiwizacja logów
Element Targets configuration zawiera 5 zdefiniowanych targetów, z czego aktywnie używane są 4:
- FileTarget – służy do zapisu do pliku (file)
- DatabaseTarget – sql-app-logs – zapis do bazy danych aplikacji (sql-app-logs)
- DatabaseTarget – sql-request-logs – zapis requestów (sql-request-logs)
- DatabaseTarget – sql-user-interface-actions – zapis akcji interfejsu użytkownika (sql-user-interface-actions)
- ElasticSearchTarget – zapis do Elasticsearch (elastic-logs) – Target odpowiedzialny za zapis logów do systemu Elasticsearch w indeksie elastic-logs. Obecnie jest przygotowany do działania, ale nie jest jeszcze używany w bieżącej wersji aplikacji.
Konfiguracja poszczególnych Targets configuration
Targets configuration: FileTarget
Podstawowe ustawienia:
- Active: ✓ (włączony)
- Name: file
- Type: File
- Filename:
${basedir}/logs/log_${date:format=yyyy-MM-dd}.log - Layout:
${longdate} ${level:uppercase=true} ${logger:shortName=true} ${message} ${exception:format=ToString}

Opis funkcjonalności:
Target ten jest odpowiedzialny za zapisywanie logów do plików tekstowych przechowywanych na dysku. Automatycznie tworzy codzienne pliki logów w katalogu /logs, przy czym nazwy plików zawierają datę w formacie YYYY-MM-DD. Każdy wpis w pliku logu zawiera szczegółowe informacje, takie jak pełna data i czas, poziom logowania (pisany wielkimi literami), skrócona nazwa loggera, treść wiadomości oraz ewentualne szczegóły wyjątku, jeśli taki wystąpił.
Zastosowanie:
Target ten jest idealnym rozwiązaniem do długoterminowego przechowywania logów, umożliwiając szczegółową analizę offline oraz efektywne debugowanie problemów. Dzięki swojej prostocie pliki logów są łatwo dostępne dla administratorów systemu, co ułatwia zarządzanie nimi. Dodatkowo mogą być bez problemu archiwizowane, co wspiera zachowanie historycznych danych na potrzeby audytu lub dalszej analizy.
DatabaseTarget – sql-app-logs
Podstawowe ustawienia:
- Active: ✓ (włączony)
- Name: sql-app-logs
- Type: Database
- Connection string: SoftwarestudioConnectionString
- Layout:
${exception:format=ToString}
Pola tabeli bazy danych:
DESCRIPTION– opis zdarzenia@DESCRIPTION– parametr opisuGENERAL_EXCEPTION– informacje o wyjątkach ogólnychGENERAL_TRACE– ślad wykonaniaDESIGN_OBJECT– obiekt designu@EVENTNAME– nazwa zdarzenia

Opis funkcjonalności:
Target ten jest przeznaczony do zapisywania ogólnych logów aplikacji w strukturze bazodanowej, dzięki czemu możliwe jest ich efektywne organizowanie i przechowywanie. Rejestruje przy tym opisy zdarzeń, informacje o wyjątkach oraz dane dotyczące obiektów designu. Dodatkowo umożliwia łatwe wyszukiwanie i filtrowanie logów za pomocą zapytań SQL, co znacznie usprawnia proces analizy i diagnostyki.
Zastosowanie:
Jest to główny target dedykowany logowaniu zdarzeń aplikacyjnych, błędów oraz operacji biznesowych. Szczególnie sprawdza się podczas analizy wydajności aplikacji, a także w diagnostyce problemów, pozwalając na szybkie zidentyfikowanie przyczyn nieprawidłowości. Dzięki temu stanowi kluczowe narzędzie dla zespołów utrzymania i rozwoju aplikacji.
DatabaseTarget – sql-request-logs
Podstawowe ustawienia:
- Active: ✓ (włączony)
- Name: sql-request-logs
- Type: Database
- Connection string: SoftwarestudioConnectionString
Pola tabeli bazy danych – Request/Response:
@REQUEST_HTTP_METHOD– metoda HTTP (GET, POST, PUT, DELETE)@REQUEST_PATH– ścieżka żądania@REQUEST_QUERY_STRING– parametry zapytania URL@REQUEST_BODY– treść żądania HTTP@RESPONSE_STATUS_CODE– kod statusu odpowiedzi HTTP@RESPONSE_BODY– treść odpowiedzi HTTP@REQUEST_CONTROLLER_NAME– nazwa kontrolera@REQUEST_CONTROLLER_ACTION– akcja kontrolera@REQUEST_RAW_URL– pełny URL żądania@REQUEST_IP– adres IP klienta@REQUEST_USER_AGENT_DATA– informacje o przeglądarce/kliencie
Pola tabeli bazy danych – Metadata:
@FIRSTTIME– znacznik czasowy początku@LONGTIME– znacznik czasowy końca@RUNTIME_USER– użytkownik wykonujący żądanie@WRITING_BOOT– informacje o uruchomieniu@WRITING_REASON– powód zapisu@WRITING_COMMENT– komentarz do wpisu@WRITING_WAREHOUSE– identyfikator magazynu@WRITING_SUBSCRIPTION– identyfikator subskrypcji@DESCRIPTION– opis operacji@EVENTNAME– nazwa zdarzenia

Opis funkcjonalności:
est to najbardziej kompleksowy target, który został zaprojektowany z myślą o szczegółowym logowaniu wszystkich żądań HTTP, dzięki czemu rejestruje pełne informacje o requestach i odpowiedziach, w tym nagłówki (headers), treści (body), metadane czasowe oraz kontekst użytkownika. Dzięki temu zapewnia pełny obraz komunikacji pomiędzy klientem a serwerem.
Zastosowanie:
Funkcjonalność ta jest kluczowa w kontekście debugowania API, analizy wydajności żądań HTTP oraz audytu bezpieczeństwa. Dodatkowo, target ten umożliwia monitorowanie ruchu aplikacji i pozwala na pełną rekonstrukcję komunikacji klient-serwer. Dzięki temu jest niezastąpiony w sytuacjach wymagających dogłębnego wglądu w procesy zachodzące w aplikacji.
DatabaseTarget – sql-user-interface-actions
Podstawowe ustawienia:
- Active: ✓ (włączony)
- Name: sql-user-interface-actions
- Type: Database
- Connection string: SoftwarestudioConnectionString
- Layout:
RETURN_USER
Pola tabeli bazy danych:
@DESCRIPTION– opis akcji użytkownika@HANDLER_PARAMETERS_JSON– parametry akcji w formacie JSON@WRITING_USER– użytkownik wykonujący akcję@WRITING_BOOT– informacje o sesji@WRITING_REASON– powód wykonania akcji@WRITING_COMMENT– komentarz do akcji@WRITING_WAREHOUSE– kontekst magazynu@WRITING_SUBSCRIPTION– kontekst subskrypcji@EVENTNAME– nazwa zdarzenia interfejsu

Opis funkcjonalności:
Specjalizowany target przeznaczony do kompleksowego śledzenia wszystkich akcji wykonywanych przez użytkowników w interfejsie aplikacji. Dzięki temu rejestruje nie tylko podstawowe interakcje użytkownika, ale również szczegółowe parametry wywołań oraz pełny kontekst biznesowy operacji. Ponadto system automatycznie gromadzi metadane dotyczące każdej aktywności, co zapewnia kompletny obraz działań użytkowników.
Zastosowanie:
Target ten jest niezbędny przede wszystkim do przeprowadzania audytu działań użytkowników, a także do zaawansowanej analizy zachowań w aplikacji. W związku z tym stanowi kluczowy element systemów compliance oraz bezpieczeństwa informatycznego. Co więcej, pozwala na precyzyjne śledzenie tego, kto, kiedy i jakie konkretnie akcje wykonał w systemie, jednocześnie zachowując pełny kontekst biznesowy każdej operacji. Dodatkowo umożliwia generowanie szczegółowych raportów aktywności, które z kolei mogą być wykorzystywane do optymalizacji procesów biznesowych oraz identyfikacji potencjalnych zagrożeń bezpieczeństwa. pełnym kontekstem biznesowym.
ElasticSearchTarget – elastic-logs
Status: Nieaktywny
Opis:
Target jest już przygotowany do integracji z systemem Elasticsearch, jednak obecnie nie jest używany. W przyszłych wersjach aplikacji planowane jest jego wykorzystanie do zaawansowanego wyszukiwania oraz analizy logów.

Wyświetlanie Logów
Opisane logi wyświetlane są w sekcji LOG w następujących zakładkach:
- SQL – Application Logs
Logi dotyczące działania aplikacji, obejmujące zdarzenia takie jak walidacja, aktualizacja tokenów, czy zmiany języka. - SQL – Request Logs
Logi rejestrujące żądania HTTP, przydatne do analizy komunikacji między klientem a serwerem. - SQL – User Actions
Logi dokumentujące działania użytkowników w systemie, takie jak zapis danych, zmiany ustawień czy inne interakcje.

Każda z zakładek umożliwia filtrowanie, sortowanie i szczegółową analizę zapisanych danych, co wspiera monitorowanie działania systemu i diagnozowanie problemów.
Zarządzanie Logami
W celu optymalizacji przestrzeni zajmowanej przez logi w systemie, możliwe jest dezaktywowanie poszczególnych pól zapisywanych w logach. Dzięki temu można ograniczyć ilość przechowywanych danych, gdy nie są one kluczowe dla analizy. Wystarczy przejść do konfiguracji odpowiedniego targetu i dezaktywować pola, które nie są niezbędne.
Definiowanie Reguł Logowania
System pozwala na tworzenie dynamicznych reguł logowania. Można określić, które poziomy logów (np. „info”, „error”) i dla jakich loggerów mają być zapisywane do określonych targetów. Umożliwia to precyzyjne dopasowanie logowania do potrzeb aplikacji oraz kontrolę nad generowaną ilością danych.
Ostrzeżenia
Zwróć uwagę, że intensywne logowanie do bazy danych może wpływać na wydajność systemu. Dlatego zaleca się rozsądne dobieranie aktywnych pól i targetów, zwłaszcza w przypadku środowisk produkcyjnych.
Dzięki tym dodatkowym wskazówkom użytkownik będzie mógł lepiej zarządzać ustawieniami logów, dostosowując je do potrzeb aplikacji oraz wymagań diagnostycznych.