Aby dodać kolejny audyt do systemu 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( 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:
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 |