log4j
bashスクリプトのようなものがありますか?重大度によってエラーを異なる方法で処理できるようにしたいです。たとえば、log4j
エラー、情報、デバッグなどを区別できます。 Bashでこれを行う方法はありますか?
次の例に示すように、ログに書き込む関数を作成できます。
LOG () {
echo `date` $* >> /var/log/my_log.log
}
しかし、実際にlog4jのようなものがbashに関連しているかどうかを知りたいです。
次の能力を得るために -エラーレベルなど。
ベストアンサー1
ほとんどのシステムにはこのlogger
ユーティリティがありますsyslogd
。syslogd
STDERR
ロギングセマンティクスは.などのツールが提供するものとまったく同じではありませんが、設定をメッセージタグと組み合わせると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
各行に含まれるマーカー()で構成されています。タグは、などを使用してログエントリを抽出するのに役立ちますgrep
。awk
logger -h loghost -p mail.crit -s -f /var/log/mail "an unrecoverable error has occurred"
crit
ログインのために重大度を含むメッセージをデバイスからmail
リモートコンピュータに送信します。これにより、メッセージがスクリプトに印刷され、ログに送信されます。loghost
/var/log/mail
-s
STDERR