2016-04-12 12 views
0

かなり長い間、Bashスクリプトでロギングの問題があります。私のプロジェクトでは、標準のログデータをあらかじめ定義されたテキストファイルに記録するために、チームはJavaのlog4jとslf4jを使ってログを作成しました。しかし、これは少し不器用ではないですか? Javaを呼び出すことはシステムにとって非常に重いです。私は、Javaロギングを呼び出すことによって、Bashスクリプトを実行する時間のほとんどが使われるのではないかと心配しています。私は誰かがこの解決策にコメントすることもできます:)Bash> Bashスクリプトを所定のログファイルに効率的に記録する方法

私はLinuxの組み込みsyslogについても読んでいます。それは涼しく見えますが、syslogのリダイレクトは制御が難しいです。

私はこれに対して何か改善策がありますか?

+0

新しいJVMにログの作品を記述する必要があるたびに、起動している場合は、はい、あなたはあまりにも多くの時間ロギング物事を費やしています。一度JVMを起動してからログをstdinにエコーすると、おそらく正常です。 – Aaron

答えて

0

どのような種類のデータを記録する必要がありますか?

通常、 "echo"コマンドであらゆる種類のことを記録できます。つまり、これはほぼどこでも実行され、syslogに書き込むために "logger"を使用しない限り、javaを使用しない通常の標準的な手法の1つです。

または "ロガー"(その後、あなたがメッセージを整理する必要がある)でそれを行う: 2016-04-12T10:58:11.785979 + 02/var/log/messagesに

#!/bin/bash 
logger "test mit logger!" 

: 00 as501755 coliban:test mit logger!

あなたは私を誤解しましたか?

よろしく

+0

あなたの答えをありがとう。私はsyslogのロガーを使ってみましたが、あらかじめ決められているファイル以外の/ var/log/messagesにしか行きません。私はまた、Javaのlog4jとslf4jを使用するコメントを取得したいと思います – Rui