composite-build-usage-example

Форк
0
51 строка · 1.6 Кб
1
package by.andd3dfx.templateapp.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

7
import java.util.Collections;
8
import java.util.List;
9
import java.util.stream.Collectors;
10

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

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

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

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

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

44
    public int getSize() {
45
        return this.list.size();
46
    }
47

48
    public List<ILoggingEvent> getLoggedEvents() {
49
        return Collections.unmodifiableList(this.list);
50
    }
51
}
52

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

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

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

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