日志记录器的日志级别设置为“ TRACE”会导致AbstractMethodError

时间:2019-04-02 12:54:21

标签: chronicle chronicle-bytes

我已将年代记录程序级别设置为可跟踪,如下所示

rootLogger.level=trace
rootLogger.appenderRefs=chronicle
rootLogger.appenderRef.stdout.ref=CHRONICLE1

导致以下错误的原因

Exception in thread "main" java.lang.AbstractMethodError: Method net/openhft/chronicle/bytes/MappedBytesStore.tryReserve()Z is abstract
    at net.openhft.chronicle.bytes.MappedBytesStore.tryReserve(MappedBytesStore.java)
    at net.openhft.chronicle.bytes.MappedFile.acquireByteStore(MappedFile.java:273)
    at net.openhft.chronicle.bytes.MappedFile.acquireByteStore(MappedFile.java:254)
    at net.openhft.chronicle.bytes.MappedBytes.acquireNextByteStore0(MappedBytes.java:399)
    at net.openhft.chronicle.bytes.MappedBytes.acquireNextByteStore(MappedBytes.java:391)
    at net.openhft.chronicle.bytes.MappedBytes.readVolatileInt(MappedBytes.java:698)
    at net.openhft.chronicle.queue.impl.single.SingleChronicleQueueExcerpts$StoreAppender.writeHeader(SingleChronicleQueueExcerpts.java:392)
    at net.openhft.chronicle.queue.impl.single.SingleChronicleQueueExcerpts$StoreAppender.openContext(SingleChronicleQueueExcerpts.java:402)
    at net.openhft.chronicle.queue.impl.single.SingleChronicleQueueExcerpts$StoreAppender.writingDocument(SingleChronicleQueueExcerpts.java:366)
    at net.openhft.chronicle.queue.impl.single.SingleChronicleQueueExcerpts$StoreAppender.writingDocument(SingleChronicleQueueExcerpts.java:346)
    at net.openhft.chronicle.logger.DefaultChronicleLogWriter.write(DefaultChronicleLogWriter.java:85)
    at net.openhft.chronicle.logger.log4j2.ChronicleAppender.doAppend(ChronicleAppender.java:74)
    at net.openhft.chronicle.logger.log4j2.AbstractChronicleAppender.append(AbstractChronicleAppender.java:138)
    at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
    at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
    at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
    at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
    at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:448)
    at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:433)
    at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
    at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:403)
    at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
    at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146)
    at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2170)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2125)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2108)
    at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2002)
    at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1974)
    at org.apache.logging.log4j.spi.AbstractLogger.trace(AbstractLogger.java:2302)
    at 
<my_class>.main(PropertyReaderTest.java:34)

但是当日志级别设置为info或error时,错误不可用

任何可能的原因

1 个答案:

答案 0 :(得分:1)

这表示您的库组合不兼容。

我建议您使用Chronicle-Logger 4.17.2,它是为chrono-bom 2.17.173发布的,可以用来确保已导入依赖的正确版本的库,也可以使用其中提到的版本

https://search.maven.org/artifact/net.openhft/chronicle-bom/2.17.173/pom