in gflog-core/src/main/java/com/epam/deltix/gflog/core/service/AsyncLogServiceFactory.java [118:150]
protected LogService createService(final Logger[] loggers,
final Appender[] appenders,
final Clock clock,
final String entryTruncationSuffix,
final int entryInitialCapacity,
final int entryMaxCapacity,
final boolean entryUtf8) {
final LogBuffer buffer = new LogBuffer(bufferCapacity);
final ExceptionIndex index = (exceptionIndexCapacity > 0) ?
new ExceptionIndex(exceptionIndexCapacity, bufferCapacity) :
null;
final int messageMaxCapacity = buffer.maxRecordLength() - LogRecordEncoder.MIN_SIZE - entryTruncationSuffix.length();
final int effectiveEntryMaxCapacity = Math.min(entryMaxCapacity, messageMaxCapacity);
final int effectiveEntryInitialCapacity = Math.min(entryInitialCapacity, effectiveEntryMaxCapacity);
return new AsyncLogService(
loggers,
appenders,
clock,
entryTruncationSuffix,
effectiveEntryInitialCapacity,
effectiveEntryMaxCapacity,
entryUtf8,
buffer,
index,
threadFactory,
idleStrategy,
overflowStrategy,
failedOffersCounter
);
}