bashのlog4jに似たものはありますか?

bashのlog4jに似たものはありますか?

log4jbashスクリプトのようなものがありますか?重大度によってエラーを異なる方法で処理できるようにしたいです。たとえば、log4jエラー、情報、デバッグなどを区別できます。 Bashでこれを行う方法はありますか?

次の例に示すように、ログに書き込む関数を作成できます。

LOG ()  { 
           echo `date` $* >> /var/log/my_log.log 
        } 

しかし、実際にlog4jのようなものがbashに関連しているかどうかを知りたいです。

次の能力を得るために -エラーレベルなど。

ベストアンサー1

ほとんどのシステムにはこのloggerユーティリティがありますsyslogdsyslogdSTDERR

ロギングセマンティクスは.などのツールが提供するものとまったく同じではありませんが、設定をメッセージタグと組み合わせるとlog4j非常facility.levelに似た結果が得られます。

はい

メモ:この例ではFreeBSDバージョンを使用していますlogger。システムには他のオプションがある可能性があるので、現地のマニュアルを読んでください。

logger -p local3.info -f /var/log/messages -t MY_LOG_TAG "something interesting happened"

/var/log/messagesこれにより、施設にinfo重大度でログインするように求められますlocal3-t MY_LOG_TAG各行に含まれるマーカー()で構成されています。タグは、などを使用してログエントリを抽出するのに役立ちますgrepawk

logger -h loghost -p mail.crit -s -f /var/log/mail "an unrecoverable error has occurred"

critログインのために重大度を含むメッセージをデバイスからmailリモートコンピュータに送信します。これにより、メッセージがスクリプトに印刷され、ログに送信されます。loghost/var/log/mail-sSTDERR

おすすめ記事