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) –