Skip to content

Commit 740418d

Browse files
committed
Nits and small fixes
1 parent f55fa52 commit 740418d

31 files changed

Lines changed: 181 additions & 112 deletions

samples/example-app/pom.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,25 @@
88
<artifactId>example-app</artifactId>
99
<version>1.0</version>
1010

11+
<dependencies>
12+
<dependency>
13+
<groupId>com.exceptionless</groupId>
14+
<artifactId>exceptionless-client</artifactId>
15+
<version>1.0</version>
16+
</dependency>
17+
</dependencies>
1118

19+
<build>
20+
<plugins>
21+
<plugin>
22+
<groupId>org.apache.maven.plugins</groupId>
23+
<artifactId>maven-compiler-plugin</artifactId>
24+
<version>3.5.1</version>
25+
<configuration>
26+
<source>11</source>
27+
<target>11</target>
28+
</configuration>
29+
</plugin>
30+
</plugins>
31+
</build>
1232
</project>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.exceptionless.sample.app;
2+
3+
import com.exceptionless.exceptionlessclient.ExceptionlessClient;
4+
5+
public class Main {
6+
public static void main(String[] args) {
7+
ExceptionlessClient client =
8+
ExceptionlessClient.from(
9+
System.getenv("EXCEPTIONLESS_SAMPLE_APP_API_KEY"),
10+
System.getenv("EXCEPTIONLESS_SAMPLE_APP_SERVER_URL"));
11+
12+
client.submitSessionStart();
13+
14+
client.submitException(new RuntimeException("Test exception"));
15+
client.submitUnhandledException(new RuntimeException("Test exception"),"Test submission method");
16+
client.submitFeatureUsage("Test feature");
17+
client.submitLog("Test log");
18+
client.submitNotFound("Test resource");
19+
20+
client.submitSessionEnd("Test user id");
21+
}
22+
}

src/main/java/com/exceptionless/exceptionlessclient/ExceptionlessClient.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.exceptionless.exceptionlessclient.models.submission.SubmissionResponse;
1212
import com.exceptionless.exceptionlessclient.plugins.EventPluginRunner;
1313
import lombok.Builder;
14+
import lombok.Getter;
1415

1516
import java.time.LocalDate;
1617
import java.util.Timer;
@@ -20,9 +21,9 @@ public class ExceptionlessClient {
2021
private static final String UPDATE_SETTINGS_TIMER_NAME = "update-settings-timer";
2122
private static final int UPDATE_SETTINGS_TIMER_INITIAL_DELAY = 5000;
2223

23-
private ConfigurationManager configurationManager;
24-
private EventPluginRunner eventPluginRunner;
25-
private Timer updateSettingsTimer;
24+
@Getter private final ConfigurationManager configurationManager;
25+
private final EventPluginRunner eventPluginRunner;
26+
private final Timer updateSettingsTimer;
2627

2728
@Builder
2829
public ExceptionlessClient(ConfigurationManager configurationManager) {

src/main/java/com/exceptionless/exceptionlessclient/configuration/Configuration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class Configuration {
1717
@Getter private Integer submissionBatchSize;
1818
@Getter private Integer submissionClientTimeoutInMillis;
1919
@Getter private Integer settingsClientTimeoutInMillis;
20-
private PropertyChangeSupport propertyChangeSupport;
20+
private final PropertyChangeSupport propertyChangeSupport;
2121

2222
@Builder
2323
public Configuration(

src/main/java/com/exceptionless/exceptionlessclient/configuration/ConfigurationManager.java

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.exceptionless.exceptionlessclient.lastreferenceidmanager.DefaultLastReferenceIdManager;
55
import com.exceptionless.exceptionlessclient.lastreferenceidmanager.LastReferenceIdManagerIF;
66
import com.exceptionless.exceptionlessclient.logging.LogIF;
7-
import com.exceptionless.exceptionlessclient.logging.NullLog;
7+
import com.exceptionless.exceptionlessclient.logging.ConsoleLog;
88
import com.exceptionless.exceptionlessclient.models.EventPluginContext;
99
import com.exceptionless.exceptionlessclient.models.UserInfo;
1010
import com.exceptionless.exceptionlessclient.models.enums.EventPropertyKey;
@@ -28,24 +28,24 @@
2828
import java.util.function.Consumer;
2929

3030
public class ConfigurationManager {
31-
@Getter private EnvironmentInfoCollectorIF environmentInfoCollector;
32-
@Getter private ErrorParserIF errorParser;
33-
@Getter private LastReferenceIdManagerIF lastReferenceIdManager;
34-
@Getter private LogIF log;
35-
@Getter private ModuleCollectorIF moduleCollector;
36-
@Getter private RequestInfoCollectorIF requestInfoCollector;
37-
@Getter private SubmissionClientIF submissionClient;
38-
@Getter private EventQueueIF queue;
39-
@Getter private Configuration configuration;
40-
@Getter private Set<String> defaultTags;
41-
@Getter private Map<String, Object> defaultData;
42-
private List<Consumer<ConfigurationManager>> onChangedHandlers;
43-
@Getter private SettingsManager settingsManager;
44-
@Getter private Set<String> userAgentBotPatterns;
45-
@Getter private PrivateInformationInclusions privateInformationInclusions;
46-
private Set<String> dataExclusions;
31+
@Getter private final EnvironmentInfoCollectorIF environmentInfoCollector;
32+
@Getter private final ErrorParserIF errorParser;
33+
@Getter private final LastReferenceIdManagerIF lastReferenceIdManager;
34+
@Getter private final LogIF log;
35+
@Getter private final ModuleCollectorIF moduleCollector;
36+
@Getter private final RequestInfoCollectorIF requestInfoCollector;
37+
@Getter private final SubmissionClientIF submissionClient;
38+
@Getter private final EventQueueIF queue;
39+
@Getter private final Configuration configuration;
40+
@Getter private final Set<String> defaultTags;
41+
@Getter private final Map<String, Object> defaultData;
42+
private final List<Consumer<ConfigurationManager>> onChangedHandlers;
43+
@Getter private final SettingsManager settingsManager;
44+
private final Set<String> userAgentBotPatterns;
45+
@Getter private final PrivateInformationInclusions privateInformationInclusions;
46+
private final Set<String> dataExclusions;
4747
private PluginManager pluginManager;
48-
@Getter private StorageProviderIF storageProvider;
48+
@Getter private final StorageProviderIF storageProvider;
4949

5050
@Builder
5151
public ConfigurationManager(
@@ -62,7 +62,7 @@ public ConfigurationManager(
6262
Configuration configuration,
6363
Integer maxQueueItems,
6464
Integer processingIntervalInSecs) {
65-
this.log = log == null ? NullLog.builder().build() : log;
65+
this.log = log == null ? ConsoleLog.builder().build() : log;
6666
this.environmentInfoCollector =
6767
environmentInfoCollector == null
6868
? DefaultEnvironmentInfoCollector.builder().log(this.log).build()
@@ -82,18 +82,18 @@ public ConfigurationManager(
8282
storageProvider == null
8383
? InMemoryStorageProvider.builder().maxQueueItems(maxQueueItems).build()
8484
: storageProvider;
85+
this.configuration =
86+
configuration == null ? Configuration.defaultConfiguration() : configuration;
8587
this.settingsManager =
8688
SettingsManager.builder()
8789
.settingsClient(
8890
settingsClient == null
8991
? DefaultSettingsClient.builder().configuration(this.configuration).build()
9092
: settingsClient)
91-
.log(log)
93+
.log(this.log)
9294
.storageProvider(this.storageProvider)
9395
.build();
9496
this.userAgentBotPatterns = new HashSet<>();
95-
this.configuration =
96-
configuration == null ? Configuration.defaultConfiguration() : configuration;
9797
this.submissionClient =
9898
submissionClient == null
9999
? DefaultSubmissionClient.builder()
@@ -120,6 +120,7 @@ public ConfigurationManager(
120120
this.privateInformationInclusions = PrivateInformationInclusions.builder().build();
121121
this.pluginManager = PluginManager.builder().log(this.log).build();
122122
checkApiKeyIsValid();
123+
addPropertyChangeListeners();
123124
}
124125

125126
private void addPropertyChangeListeners() {
@@ -151,6 +152,13 @@ public Set<String> getDataExclusions() {
151152
return combinedExclusions;
152153
}
153154

155+
public Set<String> getUserAgentBotPatterns() {
156+
Set<String> combinedPatterns =
157+
settingsManager.getSavedServerSettings().getUserAgentBotPatterns();
158+
combinedPatterns.addAll(userAgentBotPatterns);
159+
return combinedPatterns;
160+
}
161+
154162
public void submitSessionHeartbeat(String sessionOrUserId) {
155163
log.info(String.format("Submitting session heartbeat: %s", sessionOrUserId));
156164
submissionClient.sendHeartBeat(sessionOrUserId, false);

src/main/java/com/exceptionless/exceptionlessclient/configuration/PluginManager.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import java.util.stream.Collectors;
1515

1616
public class PluginManager {
17-
private LogIF log;
17+
private final LogIF log;
1818
@Getter private List<EventPluginIF> plugins;
1919

2020
@Builder

src/main/java/com/exceptionless/exceptionlessclient/configuration/PrivateInformationInclusions.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class PrivateInformationInclusions {
1313
@Getter private Boolean ipAddress;
1414
@Getter private Boolean machineName;
1515
@Getter private Boolean userName;
16-
private PropertyChangeSupport propertyChangeSupport;
16+
private final PropertyChangeSupport propertyChangeSupport;
1717

1818
@Builder
1919
public PrivateInformationInclusions(
@@ -23,12 +23,12 @@ public PrivateInformationInclusions(
2323
Boolean ipAddress,
2424
Boolean machineName,
2525
Boolean userName) {
26-
this.queryString = queryString == null ? true : queryString;
27-
this.postData = postData == null ? true : postData;
28-
this.cookies = cookies == null ? true : cookies;
29-
this.ipAddress = ipAddress == null ? true : ipAddress;
30-
this.machineName = machineName == null ? true : machineName;
31-
this.userName = userName == null ? true : userName;
26+
this.queryString = queryString == null || queryString;
27+
this.postData = postData == null || postData;
28+
this.cookies = cookies == null || cookies;
29+
this.ipAddress = ipAddress == null || ipAddress;
30+
this.machineName = machineName == null || machineName;
31+
this.userName = userName == null || userName;
3232
this.propertyChangeSupport = new PropertyChangeSupport(this);
3333
}
3434

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.exceptionless.exceptionlessclient.logging;
2+
3+
import lombok.Builder;
4+
5+
public class ConsoleLog implements LogIF {
6+
@Builder
7+
public ConsoleLog() {}
8+
9+
@Override
10+
public void trace(String message) {
11+
System.out.printf("TRACE: %s%n", message);
12+
}
13+
14+
@Override
15+
public void info(String message) {
16+
System.out.printf("INFO: %s%n", message);
17+
}
18+
19+
@Override
20+
public void warn(String message) {
21+
System.out.printf("WARN: %s%n", message);
22+
}
23+
24+
@Override
25+
public void error(String message) {
26+
System.out.printf("ERROR: %s%n", message);
27+
}
28+
29+
@Override
30+
public void error(String message, Exception e) {
31+
System.out.printf("EXCEPTION: %s%n", message);
32+
e.printStackTrace();
33+
}
34+
}

src/main/java/com/exceptionless/exceptionlessclient/logging/NullLog.java

Lines changed: 0 additions & 23 deletions
This file was deleted.

src/main/java/com/exceptionless/exceptionlessclient/models/enums/EventPropertyKey.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public enum EventPropertyKey {
1313
VERSION("@version"),
1414
REQUEST_INFO("@request");
1515

16-
private String value;
16+
private final String value;
1717

1818
EventPropertyKey(String value) {
1919
this.value = value;

0 commit comments

Comments
 (0)