@@ -92,12 +92,26 @@ public CompletableFuture<Void> submitExceptionAsync(Exception exception) {
92
92
}
93
93
94
94
public void submitException (Exception exception ) {
95
- Event event = createException ().build ();
95
+ submitException (null , exception );
96
+ }
97
+
98
+ public CompletableFuture <Void > submitExceptionAsync (String message , Exception exception ) {
99
+ return CompletableFuture .runAsync (() -> submitException (message , exception ), executorService );
100
+ }
101
+
102
+ public void submitException (String message , Exception exception ) {
103
+ Event event ;
104
+ if (message == null ) {
105
+ event = createError ().build ();
106
+ } else {
107
+ event = createError ().message (message ).build ();
108
+ }
96
109
PluginContext pluginContext = PluginContext .builder ().exception (exception ).build ();
97
- submitEvent (EventPluginContext .builder ().event (event ).context (pluginContext ).build ());
110
+ submitEventWithContext (
111
+ EventPluginContext .builder ().event (event ).context (pluginContext ).build ());
98
112
}
99
113
100
- public Event .EventBuilder createException () {
114
+ public Event .EventBuilder createError () {
101
115
return createEvent ().type (EventType .ERROR .value ());
102
116
}
103
117
@@ -108,23 +122,23 @@ public CompletableFuture<Void> submitUnhandledExceptionAsync(
108
122
}
109
123
110
124
public void submitUnhandledException (Exception exception , String submissionMethod ) {
111
- Event event = createException ().build ();
125
+ Event event = createError ().build ();
112
126
PluginContext pluginContext =
113
127
PluginContext .builder ()
114
128
.exception (exception )
115
129
.unhandledError (true )
116
130
.submissionMethod (submissionMethod )
117
131
.build ();
118
- submitEvent (EventPluginContext .builder ().event (event ).context (pluginContext ).build ());
132
+ submitEventWithContext (
133
+ EventPluginContext .builder ().event (event ).context (pluginContext ).build ());
119
134
}
120
135
121
136
public CompletableFuture <Void > submitFeatureUsageAsync (String feature ) {
122
137
return CompletableFuture .runAsync (() -> submitFeatureUsage (feature ), executorService );
123
138
}
124
139
125
140
public void submitFeatureUsage (String feature ) {
126
- Event event = createFeatureUsage (feature ).build ();
127
- submitEvent (EventPluginContext .from (event ));
141
+ submitEvent (createFeatureUsage (feature ).build ());
128
142
}
129
143
130
144
public Event .EventBuilder createFeatureUsage (String feature ) {
@@ -152,8 +166,7 @@ public CompletableFuture<Void> submitLogAsync(String message, String source, Str
152
166
}
153
167
154
168
public void submitLog (String message , String source , String level ) {
155
- Event event = createLog (message , source , level ).build ();
156
- submitEvent (EventPluginContext .from (event ));
169
+ submitEvent (createLog (message , source , level ).build ());
157
170
}
158
171
159
172
public Event .EventBuilder createLog (String message ) {
@@ -166,13 +179,7 @@ public Event.EventBuilder createLog(String message, String source) {
166
179
167
180
public Event .EventBuilder createLog (String message , String source , String level ) {
168
181
if (source == null ) {
169
- // Calling method
170
- StackTraceElement [] traceElements = Thread .currentThread ().getStackTrace ();
171
- source = traceElements [2 ].getMethodName ();
172
- // Came from the overrided method
173
- if (source .equals ("createLog" )) {
174
- source = traceElements [3 ].getMethodName ();
175
- }
182
+ source = getCallingMethod ();
176
183
}
177
184
178
185
Event .EventBuilder builder =
@@ -184,13 +191,20 @@ public Event.EventBuilder createLog(String message, String source, String level)
184
191
return builder .property (EventPropertyKey .LOG_LEVEL .value (), level );
185
192
}
186
193
194
+ private String getCallingMethod () {
195
+ StackTraceElement [] traceElements = Thread .currentThread ().getStackTrace ();
196
+ String source = traceElements [3 ].getMethodName ();
197
+ boolean cameFromOverridenMethod = source .equals ("createLog" );
198
+
199
+ return cameFromOverridenMethod ? traceElements [4 ].getMethodName () : source ;
200
+ }
201
+
187
202
public CompletableFuture <Void > submitNotFoundAsync (String resource ) {
188
203
return CompletableFuture .runAsync (() -> submitNotFound (resource ), executorService );
189
204
}
190
205
191
206
public void submitNotFound (String resource ) {
192
- Event event = createNotFound (resource ).build ();
193
- submitEvent (EventPluginContext .from (event ));
207
+ submitEvent (createNotFound (resource ).build ());
194
208
}
195
209
196
210
public Event .EventBuilder createNotFound (String resource ) {
@@ -202,8 +216,7 @@ public CompletableFuture<Void> submitSessionStartAsync() {
202
216
}
203
217
204
218
public void submitSessionStart () {
205
- Event event = createSessionStart ().build ();
206
- submitEvent (EventPluginContext .from (event ));
219
+ submitEvent (createSessionStart ().build ());
207
220
}
208
221
209
222
public Event .EventBuilder createSessionStart () {
@@ -216,11 +229,21 @@ public Event.EventBuilder createEvent() {
216
229
.date (LocalDate .now ());
217
230
}
218
231
219
- public CompletableFuture <Void > submitEventAsync (EventPluginContext eventPluginContext ) {
220
- return CompletableFuture .runAsync (() -> submitEvent (eventPluginContext ), executorService );
232
+ public CompletableFuture <Void > submitEventAsync (Event event ) {
233
+ return CompletableFuture .runAsync (() -> submitEvent (event ), executorService );
234
+ }
235
+
236
+ public void submitEvent (Event event ) {
237
+ eventPluginRunner .run (EventPluginContext .from (event ));
238
+ }
239
+
240
+ public CompletableFuture <Void > submitEventWithContextAsync (
241
+ EventPluginContext eventPluginContext ) {
242
+ return CompletableFuture .runAsync (
243
+ () -> submitEventWithContext (eventPluginContext ), executorService );
221
244
}
222
245
223
- public void submitEvent (EventPluginContext eventPluginContext ) {
246
+ public void submitEventWithContext (EventPluginContext eventPluginContext ) {
224
247
eventPluginRunner .run (eventPluginContext );
225
248
}
226
249
0 commit comments