1

log4jがデフォルトでstderrorに出力することを私は知っています。

次のコマンドを使用して、アプリケーションの出力をキャプチャしています。

application_to_run 2> log ; cat log | grep FATAL

補助ファイルなしで出力をキャプチャする方法はありますか?

4

2 に答える 2

2

stdoutとの両方が必要な場合は、次stderrを使用します。

( application_to_run 2>&1 ) | grep FATAL

両方を単独で使用したい場合はstderr、次を使用できます。

( application_to_run 2>&1 >/dev/null ) | grep FATAL

stderr最初に、ファイルハンドル2( )宛てのすべての出力をファイルハンドル1( stdout)に送信し、次にそれを。にパイプしますgrepstdout2つ目も同じことを行いますが、ビットバケットにも送信します。リダイレクションは位置的なものであるため、これは機能します。最初に、stderr現在 stdoutにリダイレクトされ、次にstdoutにリダイレクトされ/dev/nullます。

于 2010-06-12T11:53:12.987 に答える
1

stderrstdoutにリダイレクトしてパイプで使用できるようにする方法を尋ねている場合、私が知っている2つの方法があります。

$ command 2>&1 | ...

$ command |& ..
于 2010-06-12T11:56:41.153 に答える