-
-
Notifications
You must be signed in to change notification settings - Fork 468
Expand file tree
/
Copy pathSentryProperties.java
More file actions
164 lines (128 loc) · 4.77 KB
/
SentryProperties.java
File metadata and controls
164 lines (128 loc) · 4.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
package io.sentry.spring.boot;
import com.jakewharton.nopen.annotation.Open;
import io.sentry.SentryOptions;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.event.Level;
import org.springframework.boot.context.properties.ConfigurationProperties;
/** Configuration for Sentry integration. */
@ConfigurationProperties("sentry")
@Open
public class SentryProperties extends SentryOptions {
/** Whether to use Git commit id as a release. */
private boolean useGitCommitIdAsRelease = true;
/** Report all or only uncaught web exceptions. */
private int exceptionResolverOrder = 1;
/**
* Defines the {@link io.sentry.spring.SentryUserFilter} order. The default value is {@link
* org.springframework.core.Ordered.LOWEST_PRECEDENCE}, if Spring Security is auto-configured, its
* guaranteed to run after Spring Security filter chain.
*/
private @Nullable Integer userFilterOrder;
@ApiStatus.Experimental private boolean keepTransactionsOpenForAsyncResponses = false;
/** Logging framework integration properties. */
private @NotNull Logging logging = new Logging();
/** Graphql integration properties. */
private @NotNull Graphql graphql = new Graphql();
public boolean isUseGitCommitIdAsRelease() {
return useGitCommitIdAsRelease;
}
public void setUseGitCommitIdAsRelease(boolean useGitCommitIdAsRelease) {
this.useGitCommitIdAsRelease = useGitCommitIdAsRelease;
}
/**
* Returns the order used for Spring SentryExceptionResolver, which determines whether all web
* exceptions are reported, or only uncaught exceptions.
*
* @return order to use for Spring SentryExceptionResolver
*/
public int getExceptionResolverOrder() {
return exceptionResolverOrder;
}
/**
* Sets the order to use for Spring SentryExceptionResolver, which determines whether all web
* exceptions are reported, or only uncaught exceptions.
*
* @param exceptionResolverOrder order to use for Spring SentryExceptionResolver
*/
public void setExceptionResolverOrder(int exceptionResolverOrder) {
this.exceptionResolverOrder = exceptionResolverOrder;
}
public @Nullable Integer getUserFilterOrder() {
return userFilterOrder;
}
public void setUserFilterOrder(final @Nullable Integer userFilterOrder) {
this.userFilterOrder = userFilterOrder;
}
public boolean isKeepTransactionsOpenForAsyncResponses() {
return keepTransactionsOpenForAsyncResponses;
}
public void setKeepTransactionsOpenForAsyncResponses(
boolean keepTransactionsOpenForAsyncResponses) {
this.keepTransactionsOpenForAsyncResponses = keepTransactionsOpenForAsyncResponses;
}
public @NotNull Logging getLogging() {
return logging;
}
public void setLogging(@NotNull Logging logging) {
this.logging = logging;
}
public @NotNull Graphql getGraphql() {
return graphql;
}
public void setGraphql(@NotNull Graphql graphql) {
this.graphql = graphql;
}
@Open
public static class Logging {
/** Enable/Disable logging auto-configuration. */
private boolean enabled = true;
/** Minimum logging level for recording breadcrumb. */
private @Nullable Level minimumBreadcrumbLevel;
/** Minimum logging level for recording event. */
private @Nullable Level minimumEventLevel;
/** List of loggers the SentryAppender should be added to. */
private @NotNull List<String> loggers = Arrays.asList(org.slf4j.Logger.ROOT_LOGGER_NAME);
public boolean isEnabled() {
return enabled;
}
public void setEnabled(boolean enabled) {
this.enabled = enabled;
}
public @Nullable Level getMinimumBreadcrumbLevel() {
return minimumBreadcrumbLevel;
}
public void setMinimumBreadcrumbLevel(@Nullable Level minimumBreadcrumbLevel) {
this.minimumBreadcrumbLevel = minimumBreadcrumbLevel;
}
public @Nullable Level getMinimumEventLevel() {
return minimumEventLevel;
}
public void setMinimumEventLevel(@Nullable Level minimumEventLevel) {
this.minimumEventLevel = minimumEventLevel;
}
@NotNull
public List<String> getLoggers() {
return loggers;
}
public void setLoggers(final @NotNull List<String> loggers) {
this.loggers = loggers;
}
}
@Open
public static class Graphql {
/** List of error types the Sentry Graphql integration should ignore. */
private @NotNull List<String> ignoredErrorTypes = new ArrayList<>();
@NotNull
public List<String> getIgnoredErrorTypes() {
return ignoredErrorTypes;
}
public void setIgnoredErrorTypes(final @NotNull List<String> ignoredErrorTypes) {
this.ignoredErrorTypes = ignoredErrorTypes;
}
}
}