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