スカラースクリプトでログ出力を処理したい。このように:
java -jar app.jar | log.sc
またはjava -jar app.jar | amm log.sc
app.jar
印刷ログをlog.sc
に書き込む方法は?パイプオペレータでsbt/amm scalaスクリプトを使用するには?
モチベーション
出力ストリームを処理するためにいくつかのよりスマートな方法でjava -jar app.jar > app.log
を交換してください。
これ以降、出力ストリームを別のファイルに保存したいと考えています。
ありがとうございました。この例の
UPDATE
思う:私は印刷ログを扱うことができる方法
アセンブリLoop.jar
へ
object Main extends App {
var i = 0L
while(true) {
println("hello " + i)
i += 1
}
}
それは、日付で提出するには?
'app.jar'は大規模なWebプロジェクトです。 'val log'は結果をメモリに保持すべきではありません。java.lang.OutOfMemoryError例外が発生したようです。いくつかの例を書くことができますか? – LoranceChen
私が最初に理解したのは、あなたがアプリケーションを起動するときに端末の出力をキャプチャしたかったということです。これは私が上で提案したものです。しかし、あなたの例では、あなたがキャプチャしたいかなりの出力を行っているこのアプリを持っています。それは私にとっては、アンモナイトはあなたが望むものではないようです。これは古典的なログの使用例のように聞こえます。このような[Scala wrapper](https://github.com/typesafehub/scala-logging)のようなslf4jのようなJava/Scalaのログを処理するための多くの良いオプションを調べるべきです。 –