articles-backend-app

Форк
0
49 строк · 1.5 Кб
1
package by.andd3dfx.util;
2

3
import ch.qos.logback.classic.Level;
4
import ch.qos.logback.classic.spi.ILoggingEvent;
5
import ch.qos.logback.core.read.ListAppender;
6
import java.util.Collections;
7
import java.util.List;
8

9
/**
10
 * Class for testing purposes to catch logs.
11
 */
12
public class MemoryAppender extends ListAppender<ILoggingEvent> {
13
    public void reset() {
14
        list.clear();
15
    }
16

17
    public boolean contains(String string, Level level) {
18
        return list.stream()
19
                .anyMatch(event -> event.getMessage().toString().contains(string)
20
                        && event.getLevel().equals(level));
21
    }
22

23
    public int countEventsForLogger(String loggerName) {
24
        return (int) list.stream()
25
                .filter(event -> event.getLoggerName().contains(loggerName))
26
                .count();
27
    }
28

29
    public List<ILoggingEvent> search(String string) {
30
        return list.stream()
31
                .filter(event -> event.getMessage().toString().contains(string))
32
                .toList();
33
    }
34

35
    public List<ILoggingEvent> search(String string, Level level) {
36
        return list.stream()
37
                .filter(event -> event.getMessage().toString().contains(string)
38
                        && event.getLevel().equals(level))
39
                .toList();
40
    }
41

42
    public int getSize() {
43
        return list.size();
44
    }
45

46
    public List<ILoggingEvent> getLoggedEvents() {
47
        return Collections.unmodifiableList(list);
48
    }
49
}
50

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.