2
스칼라를 사용하여 로그 파일을 모니터링하고 싶습니다. 로그의 특정 문제점은 로그 회전을 고려해야한다는 것입니다 (Linux 테일의 필수 기능 중 하나임).스칼라 방식의 파일 테일링
순수한 Java의 경우 Tailer이 있지만 비슷한 스칼라 구현이 있는지 궁금합니다.
스칼라를 사용하여 로그 파일을 모니터링하고 싶습니다. 로그의 특정 문제점은 로그 회전을 고려해야한다는 것입니다 (Linux 테일의 필수 기능 중 하나임).스칼라 방식의 파일 테일링
순수한 Java의 경우 Tailer이 있지만 비슷한 스칼라 구현이 있는지 궁금합니다.
스칼라로 보이는 것을 쉽게 감쌀 수 있습니다.
object ScalaTailer {
private val DefaultBufSize = 4096
def apply(file: File, onFileNotFound: => Unit =(), onFileRotated: => Unit =(),
handleException: Exception => Unit =(), handleLine: String => Unit =(),
delayMillis: Long = 1000, end: Boolean = false, reOpen: Boolean = false,
bufSize: Int = DefaultBufSize) = {
val listener = new TailerListener {
override def fileNotFound() = onFileNotFound
override def fileRotated() = onFileRotated
override def handle(ex: Exception) = handleException(ex)
override def handle(line: String) = handeLine(line)
}
new Tailer(file, listener, delayMillis, end, reOpen, bufSize)
}
}
val tailer = ScalaTailer(myFile, handleLine = println)
이것은 아마도 스칼라 구현이없는 이유 일 것입니다. 게다가, 아파치 코 몬즈 물건 꽤 강력합니다, 그래서 아마 그것을 사용하는 것이 좋습니다!