phpがsyslogにログを書き込む方法を解析する

2300 ワード

プロジェクトをするとき、メンテナンスを容易にするために、システムログをシステムsyslogに書き込む必要があります.次に、linuxで紹介します.
下phpのsyslogに対する操作:linuxでsyslogを構成する
linuxではfacility(デバイス)には、AUTHの一般的なセキュリティ/ライセンスメッセージがあります.
AUTTHPRIVプライベートセキュリティ/承認メッセージ
CRONタイマプロセス
DAEMONデーモン
KERNカーネルメッセージ
LOCAL0 ... LOCAL 7ローカルアプリケーション、Windowsではサポートされていません
LPRラインプリンタ
MAILメールサービス
NEWSニュースサービス
SYSLOGがsyslogd内部で生成したメッセージ
USER共通のユーザーレベル情報
UUCP UUCPサブシステム
linuxシステムにログインし、/etcディレクトリに入り、次のように入力します.
 
  
vim syslog.conf

syslogのプロファイルを開く
ここでsyslogのすべての構成情報を見ることができます.ここでは、前節で説明した各ログ・タイプのストレージ・ログで使用される条件を定義します.たとえば、次のようにします.
daemon.*  -/var/log/daemon.log
daemonが生成したログの保存場所を定義します.daemonはログタイプであり、「*」はすべてのレベルのログをファイルに配置します.書式:
facility.level---var/log/daemonなどのログファイルの保存パス.log
レベルには、emergが含まれます.システムは使用できません.
alert-直ちに変更する必要がある条件
crit-一部のツールまたはサブシステム機能の実装を阻止するエラー条件
Err-ツールまたは一部のサブシステムの一部の機能の実装を阻止するエラー条件
warning-アラート情報
notice-重要性のある一般的な条件
info-情報を提供するメッセージ
debug-関数条件または問題のその他の情報は含まれません
none-重要なレベルはなく、通常はエラーの排出に使用されます.
*none以外のすべてのレベル
次に、プロファイルで独自のデバイスのログ・ルールを定義します:local 4.info   -/var/log/
次にコマンド/etc/initを実行する.d/sysklogd restartまたは/etc/init.d/sysklogd reloadは新しい構成を有効にします.
新しいログ・ルールをテストできます.
1.コマンドlogger-p local 4を入力.info "my test log"2.実行コマンドtail/var/log/event_log.logは自分が書いたログ情報を見ることができます.
注意:syslog.conf中local 4.infoはすべてのinfoレベルを表し、以上のログがここに記録されます.
OK、今までubuntuで必要なログを設定しました.次にphpのsyslogでubuntuのsyslogにログを書きます.
phpコードを直接入力します.
 
  
openlog("Event1.0", LOG_PID | LOG_PERROR, LOG_LOCAL4);
syslog($level, "LOG MESSAGE: " . $errinfo);
closelog();

以上の各方法の具体的な使い方はPHPのAPIを参照してください.具体的な使い方はここでは説明しません.
Openlogの最初のパラメータは、どのシステムが書き込まれたログかを表すログ情報の開始に自動的に加算されるログIDです.
ログをlocal 4に書き込むためです.info、3番目のパラメータはLOG_を使用する必要がありますログに書き込まれたデバイス情報を表すLOCAL 4.
Syslogの$levelはログレベルです.LOG_EMERG system is unusable
LOG_ALERT action must be taken immediately
LOG_CRIT critical conditions
LOG_ERR error conditions
LOG_WARNING warning conditions
LOG_NOTICE normal, but significant, condition
LOG_INFO informational message
LOG_DEBUG debug-level message
2番目のパラメータは、特定のログの内容です.