fluent / fluent/fluent-logger-java
Conflict with Spring cloud SpringApplication run
- Dominant language
- Java
- Stars
- 210
- Forks
- 86
- PR merge metrics
- No merged PRs in 30d
Description
Conflict with Spring cloud SpringApplication run. spring cloud because BootstrapApplicationListener.Causes Spring Application to execute many times.
and call **FluentLogger** stop. close sender, with sender is null.
then call `log(String tag, Map data, long timestamp) ` function Throw out NullPointerException?
in **FluentLoggerFactory** 58 line add this code?
```
public synchronized FluentLogger getLogger(String tagPrefix, String host, int port, int timeout, int bufferCapacity,
Reconnector reconnector) {
String key = String.format("%s_%s_%d_%d_%d", new Object[] { tagPrefix, host, port, timeout, bufferCapacity });
for (Map.Entry entry : loggers.entrySet()) {
if (entry.getValue().equals(key)) {
FluentLogger found = entry.getKey();
if(found != null) {
if(found.getSender() == null){
found.setSender(getNewSender(host, port, timeout, bufferCapacity, reconnector));
}
return found;
}
break;
}
}
FluentLogger logger = new FluentLogger(tagPrefix, getNewSender(host, port, timeout, bufferCapacity, reconnector));
loggers.put(logger, key);
return logger;
}
private Sender getNewSender( String host, int port, int timeout, int bufferCapacity, Reconnector reconnector){
Sender sender = null;
Properties props = System.getProperties();
if (!props.containsKey(Config.FLUENT_SENDER_CLASS)) {
// create default sender object
sender = new RawSocketSender(host, port, timeout, bufferCapacity, reconnector);
} else {
String senderClassName = props.getProperty(Config.FLUENT_SENDER_CLASS);
try {
sender = createSenderInstance(senderClassName, new Object[] { host, port, timeout, bufferCapacity });
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return sender;
}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.