0
我想用scala腳本處理日誌輸出。像這樣:
java -jar app.jar | log.sc
或java -jar app.jar | amm log.sc
如何編寫log.sc
處理app.jar
打印日誌?如何在管道運算符上使用sbt/amm scala腳本?
動機
更換java -jar app.jar > app.log
一些更聰明的處理輸出流的方式。
從現在開始,我希望將輸出流保存到不同的文件中,天數不變。
謝謝。
UPDATE
覺得這個例子:
object Main extends App {
var i = 0L
while(true) {
println("hello " + i)
i += 1
}
}
它
裝配到Loop.jar
,我該怎麼處理打印日誌按日期文件?
'app.jar'是一個龐大的網絡項目。 'val log'不應該在內存中保存結果。它似乎導致了一個'java.lang.OutOfMemoryError'異常。你能寫一些例子嗎? – LoranceChen
我最初理解的方式是,當您啓動應用程序時,您想捕獲終端輸出,這正是我上面提出的建議。但從你的例子你有這個應用程序正在做相當多的輸出,你想捕捉。在我看來,亞捫人不是你想要的。這聽起來像一個經典的日誌記錄用例,你應該研究處理Java/Scala中日誌記錄的許多好的選項,比如slf4j,例如這個[Scala wrapper](https://github.com/typesafehub/scala-logging) –