Tworzenie systemowego audytuAby dodać kolejny audyt do systemu, należy: - Do klasy
dodać odpowiednią wartość np. AUDIT_CUSTOM_TEST. - W klasie AuditCategories należy dodać nowy utworzony typ audytu w metodzie zwracającej kategorię tego audytu.
Jeżeli audyt jest dodawany do kontrolera/servletu i jest dostęp do obiektu HttpServletRequest, to należy dodać fragment: @RequestMapping( "audit" )
@ResponseStatus( HttpStatus.OK )
public void test( HttpServletRequest request )
{
// czasochłonne operacje
request.setAttribute( "audit", AuditBuilder.getInstance()
.type( AuditTypes.AUDIT_CUSTOM_TEST )
.success( true )
.params( ImmutableMap.of( "param1", "paramValue" ) ) // parametry audytu
.build() );
} |
System sam obliczy sobie czasy wykonania zapytania, wyciągnie zalogowanego użytkownika oraz adres IP. Możemy też skorzystać z odpowiednich metod, zamiast ustawiać pole z sukcesem: AuditBuilder.getInstance().type(AuditTypes.AUDIT_CUSTOM_TEST).buildSuccess();
AuditBuilder.getInstance().type(AuditTypes.AUDIT_CUSTOM_TEST).buildFailure(); |
Jeżeli audyt jest dodawany w innym miejscu, niż kontrolery/servlety, to należy dodać fragment. Date started = new Date();
// czasochłonne operacje ...
ManualAuditBuilder.getInstance() // ManualAuditBuilder pozwala na ustawienie dodatkowo użytkownika, czas trwania audytu i adres IP
.type( AuditTypes.AUDIT_CUSTOM_TEST )
.started( started )
.username( username ) // jeżeli nie ma dostępu do requesta, lecz znany jest użytkownik
.success( true )
.params( ImmutableMap.of( "param1", "paramValue" ) )
.build()
.log(); |
Należy samemu obliczyć czas wykonania audytu, ustawić ręcznie użytkownika i adres IP (jeżeli jest taka informacja).
Do tłumaczeń systemowych typu SERVER należy dodać wpisy z tłumaczeniami dla typu audytu (klucz identyczny jak typ audytu), oraz dla nazwy parametru (AUDIT_PARAM_ + nazwa parametru wielkimi literami). Przykładowo: AUDIT_CUSTOM_TEST=Dowolna nazwa audytu
AUDIT_PARAM_PARAM1=Dowolna nazwa parametru audytu |
6. W przypadku, w którym wartości parametrów audytu wymagają przetworzenia przed wyświetleniem należy dodać odpowiedni Formatter rozszerzający klasę com.suncode.pwfl.audit.formatter.Formatter z modułu plusworkflow-audit. Sytuacje, w których powinno się dodać własny formatter to:
- tłumaczenie nazwy procesu/zadania
- pobranie imienia i nazwiska użytkownika (zamiast loginu)
- pobranie jakiejś nazwy, którą użytkownik może zdefiniować w customowych plikach tłumaczeń
- przetłumaczenie wartości logicznej
- przetłumaczenie jakiejś nazwy np. typ indeksu klasy dokumentów, typ uprawnienia, konfiguracji itp
Klasa Formatter posiada już niektóre metody pozwalające na tłumaczenie wybranych parametrów audytu. |
Jeśli tworzymy audyt operacji, w której zostają zmienione jakieś parametry np. należy w parametrach audytu pokazać zmianę parametru w formacie stara_wartość > nowa_wartość. Jeśli wartości mają zostać w jakiś sposób przetworzone to zalecam przekazać je do formattera w postaci "stara_wartość;nowa_wartość", ponieważ metody w klasie Formatter mają obsługę dostosowaną to wartości oddzielonych średnikiem. |
Tworzenie audytu wdrożeniowego Aby dodać wdrożeniowy audyt, należy: Jeżeli audyt jest dodawany do kontrolera/servletu i jest dostęp do obiektu HttpServletRequest, to należy dodać fragment: @RequestMapping( "audit" )
@ResponseStatus( HttpStatus.OK )
public void test( HttpServletRequest request )
{
// czasochłonne operacje
request.setAttribute( "audit", AuditBuilder.getInstance()
.type( "AUDIT_CUSTOM_TEST" ) // typ audytu jako zwykły tekst
.success( true )
.params( ImmutableMap.of( "param1", "paramValue" ) ) // parametry audytu
.build() );
} |
System sam obliczy sobie czasy wykonania zapytania, wyciągnie zalogowanego użytkownika oraz adres IP. Jeżeli audyt jest dodawany w innym miejscu, niż kontrolery/servlety, to należy dodać fragment. Date started = new Date();
// czasochłonne operacje ...
ManualAuditBuilder.getInstance()
.type( "AUDIT_CUSTOM_TEST" ) // typ audytu jako zwykły tekst
.started( started )
.username( username ) // jeżeli nie ma dostępu do requesta, lecz znany jest użytkownik
.success( true )
.params( ImmutableMap.of( "param1", "paramValue" ) )
.build()
.log(); |
Należy samemu obliczyć czas wykonania audytu, ustawić ręcznie użytkownika i adres IP (jeżeli jest taka informacja). Do dowolnego zarejestrowanego tłumacza o scope SERVER należy dodać wpisy z tłumaczeniami dla typu audytu (klucz identyczny jak typ audytu), oraz dla nazwy parametru (AUDIT_PARAM_ + nazwa parametru wielkimi literami). Przykładowo: AUDIT_CUSTOM_TEST=Dowolna nazwa audytu
AUDIT_PARAM_PARAM1=Dowolna nazwa parametru audytu |
|