File tree 4 files changed +24
-7
lines changed
main/java/ru/kontur/vostok/hercules/sentry/sink
test/java/ru/kontur/vostok/hercules/sentry/sink/filter 4 files changed +24
-7
lines changed Original file line number Diff line number Diff line change @@ -16,7 +16,9 @@ SERVICES := hercules-elastic-adapter \
16
16
hercules-tracing-api \
17
17
hercules-tracing-sink \
18
18
hercules-tracing-sink-clickhouse \
19
- hercules-init
19
+ hercules-init \
20
+ hercules-routing \
21
+ hercules-opentelemetry-adapter
20
22
21
23
22
24
.PHONY : all build_images push_images
Original file line number Diff line number Diff line change @@ -119,9 +119,12 @@ public boolean process(Event event) throws BackendServiceFailedException {
119
119
}
120
120
121
121
private boolean checkLevel (Event event ) {
122
- final Optional <String > value = ContainerUtil .extract (event .getPayload (), LogEventTags .LEVEL_TAG );
123
- SentryLevel level = value .map (sentryLevelParser ::parse ).orElse (ParsingResult .of (SentryLevel .INFO )).get ();
124
- return defaultLevel .compareTo (level ) >= 0 ;
122
+ return ContainerUtil .extract (event .getPayload (), LogEventTags .LEVEL_TAG )
123
+ .map (sentryLevelParser ::parse )
124
+ .filter (ParsingResult ::hasValue )
125
+ .map (ParsingResult ::get )
126
+ .map (value -> defaultLevel .compareTo (value ) >= 0 )
127
+ .orElse (false );
125
128
}
126
129
127
130
public void stop () {
Original file line number Diff line number Diff line change @@ -31,9 +31,12 @@ public LevelEventFilter(Properties properties) {
31
31
32
32
@ Override
33
33
public boolean test (Event event ) {
34
- final Optional <String > value = ContainerUtil .extract (event .getPayload (), LogEventTags .LEVEL_TAG );
35
- SentryLevel currentLevel = value .map (sentryLevelParser ::parse ).orElse (ParsingResult .of (SentryLevel .INFO )).get ();
36
- return level .compareTo (currentLevel ) >= 0 ;
34
+ return ContainerUtil .extract (event .getPayload (), LogEventTags .LEVEL_TAG )
35
+ .map (sentryLevelParser ::parse )
36
+ .filter (ParsingResult ::hasValue )
37
+ .map (ParsingResult ::get )
38
+ .map (value -> level .compareTo (value ) >= 0 )
39
+ .orElse (false );
37
40
}
38
41
39
42
private static class Props {
Original file line number Diff line number Diff line change @@ -51,6 +51,15 @@ public void shouldReturnFalseIfLevelIsLowerThenRequired() {
51
51
Assert .assertFalse (filter .test (event ));
52
52
}
53
53
54
+ @ Test
55
+ public void shouldReturnFalseIfLevelIsUnexpected () {
56
+ Event event = getEventBuilder ()
57
+ .tag ("level" , Variant .ofString ("informational" ))
58
+ .build ();
59
+
60
+ Assert .assertFalse (filter .test (event ));
61
+ }
62
+
54
63
@ Test
55
64
public void shouldReturnFalseIfLevelTagIsAbsent () {
56
65
Event event = getEventBuilder ().build ();
You can’t perform that action at this time.
0 commit comments