log4jがデフォルトでstderrorに出力することを私は知っています。
次のコマンドを使用して、アプリケーションの出力をキャプチャしています。
application_to_run 2> log ; cat log | grep FATAL
補助ファイルなしで出力をキャプチャする方法はありますか?
stdout
との両方が必要な場合は、次stderr
を使用します。
( application_to_run 2>&1 ) | grep FATAL
両方を単独で使用したい場合はstderr
、次を使用できます。
( application_to_run 2>&1 >/dev/null ) | grep FATAL
stderr
最初に、ファイルハンドル2( )宛てのすべての出力をファイルハンドル1( stdout
)に送信し、次にそれを。にパイプしますgrep
。stdout
2つ目も同じことを行いますが、ビットバケットにも送信します。リダイレクションは位置的なものであるため、これは機能します。最初に、stderr
が現在 stdout
にリダイレクトされ、次にstdout
にリダイレクトされ/dev/null
ます。
stderrをstdoutにリダイレクトしてパイプで使用できるようにする方法を尋ねている場合、私が知っている2つの方法があります。
$ command 2>&1 | ...
$ command |& ..