我有以下代码可以从 Chronicle 队列中读取(它是用 Kotlin 编写的,但这并不重要):
val queue = ChronicleQueueBuilder.single(path).build()
val tailer = queue.createTailer()
tailer.toEnd()
// // This code is wrong
// val lastIndex = tailer.index()
//
// val shift = lastIndex - 10
// if (shift > 0) {
// tailer.moveToIndex(lastIndex)
// }
while (true) {
val text = await(tailer)
if (prefix == null) {
println(text)
} else {
if (text.startsWith(prefix)) {
// Would be nice without additional allocation ...
println(text.substring(prefix.length + 1))
}
}
}
如何修改注释代码以从队列中读取前 10 条记录并继续?
理由:在队列用于显示日志的情况下很有用。您想查看一些以前的日志记录语句并在它们出现时查看新的日志记录语句。