private synchronized void doLog(ApplicationLogEntry entry) {
logger.error(
String.format(
"[%s] name=%s,authentication=%s,timestamp=%s,%s%nStacktrace: %s",
entry.getLevel(),
entry.getType().getName(),
entry.getAuthentication(),
Time.forStorage(entry.getTimestamp()),
entry.getDetailList().stream()
.map(nd -> String.format("%s=%s", nd.getName(), nd.getDescription()))
.collect(Collectors.joining(",")),
entry.getStacktrace()
)
);
entriesRepository.log(entry);
meterRegistry.counter(
"ontrack_error",
"type", entry.getType().getName()
).increment();
}