私のアプリケーションのシステムログにすべての内容を記録したいと思います。私は主に2つのレベルでロギングを行います。情報とデバッグ。エンドユーザーがデバッグメッセージを表示またはアクセスしたくありません。したがって、これらのメッセージはsyslog.conf
特別なフォルダにキャプチャされます。
私の質問は、コンソールとメッセージファイルに追加のメッセージを記録できますか?私の考えは次のとおりですが、期待どおりに動作しません。
# /etc/syslog.conf Configuration file for busybox's syslogd utility
*.debug /var/log/debug
*.info /var/log/info
*.info /dev/consol
ベストアンサー1
~によるとman 3 syslog
を呼び出すときは、「優先順位」の値が正しく設定されていることを確認してくださいsyslog()
。
マニュアルページの便利な部分:
パラメーターは、
priority
値と値(以下の説明を参照)をORして構成されます。 OR値がない場合は設定されたデフォルト値が使用され、以前の呼び出しがない場合はデフォルト値が使用されます。facility
level
facility
priority
openlog()
openlog()
LOG_USER
そして
値
facility
:このfacility
パラメーターは、メッセージを記録するプログラムのタイプを指定するために使用されます。これにより、構成ファイルは、さまざまな施設のメッセージが異なるように処理されることを指定できます。
LOG_AUTH
セキュリティ/認証メッセージLOG_AUTHPRIV
セキュリティ/認証メッセージ(プライベート)LOG_CRON
クロックデーモン(cronとat)=LOG_DAEMON
個別施設値のないシステムデーモンLOG_FTP
FTPデーモンLOG_KERN
カーネルメッセージ(これらのメッセージはユーザープロセスで生成できません)LOG_LOCAL0
以下でLOG_LOCAL7
ローカル使用のために予約されていますLOG_LPR
ラインプリンタサブシステムLOG_MAIL
メールサブシステムLOG_NEWS
USENETニュースサブシステムLOG_SYSLOG
syslogd(8) によって内部的に生成されたメッセージLOG_USER
(既定値) 一般ユーザーレベルのメッセージLOG_UUCP
UUCPサブシステム値
level
: メッセージの重要性を決定します。これらのレベルは、重要度が低い順に表示されます。
LOG_EMERG
システムが利用できませんLOG_ALERT
すぐに対策を講じる必要がありますLOG_CRIT
深刻な状態LOG_ERR
エラー状態LOG_WARNING
警告条件LOG_NOTICE
正常だが重要な状態LOG_INFO
情報メッセージLOG_DEBUG
デバッグレベルのメッセージこの機能を
setlogmask(3)
使用すると、ロギングを指定されたレベルにのみ制限できます。