日志文件轮转存放到本地,需要监听日志文件的变化,如log -> log-2018-12-20,但是log这个软连接会变动,下一天会变成log -> log-2018-12-21。 能监测到文件的变化,同时能读到软连接变化后的新的文件 能过滤需要的行 用kafka connector能做到吗?
加个logstash做过滤吧。
之前的方案是用flume来做过滤,但是现在的考虑是去掉多余的技术栈,想用kafka直接实现,有scala/java的例子吗?
```shell
import scala.sys.process._
def someProcessing(line: String): Unit = {
// do whatever you want with that line
print("[just read this line] ")
println(line)
}
// the file to read
val file = "mylogfile.txt"
// the process to start
val tail = Seq("tail", "-f", file)
// continuously read lines from tail -f
tail.lineStream.foreach(someProcessing)
// careful: this never returns (unless tail is externally killed)
````
这是我在stackoverflow上看到的,但是这个不能被打断恢复。
过滤的问题我已经解决了,主要是怎么监听 按天滚动的日志文件,使能从正确位置读到最新的消息
你自己实现的话,就得实现相关的逻辑的。
你的答案