2015.
10.
28
08:18:20
結論から書くと、syslog()関数を使って
で出力できます。
【優先順位】として設定できるのは
です。
ログの出力先は、Windows環境ではイベントログです。
UNIX系の場合は、特に設定を変えていなければ
に出力されると思います。
それでは、サンプルです。
こんなコードを実行するとφ(--)
こんな結果が「/var/log/messages」に出力されましたφ(--)
あと、ログの確認のために表示していたコンソール上に
と表示されました。
ちなみに「LOG_DEBUG」のメッセージが表示されていないのは
私の環境におけるsyslogdの設定によるものです。
もしくは
にて指定しているはずですので、必要に応じて変更してください。
※syslog.conf(rsyslog.conf)の中身の見方については、頑張って勉強してください。
取りあえず、そんな感じ\(--)/
syslog(【優先順位】,【出力メッセージ】);
で出力できます。
【優先順位】として設定できるのは
値 | 説明 |
LOG_EMERG | システムは使用不可 |
LOG_ALERT | アクションを直ちに起こすことが必要 |
LOG_CRIT | 危機的な条件 |
LOG_ERR | エラー条件 |
LOG_WARNING | 警告条件 |
LOG_NOTICE | 正常、しかし、注意すべき条件 |
LOG_INFO | 情報メッセージ |
LOG_DEBUG | デバッグレベルメッセージ |
です。
ログの出力先は、Windows環境ではイベントログです。
UNIX系の場合は、特に設定を変えていなければ
/var/log/messages
に出力されると思います。
それでは、サンプルです。
こんなコードを実行するとφ(--)
<?php
try{
//LOG_EMERG:システムは使用不可
syslog(LOG_EMERG, 'システムは使用不可');
print "システムは使用不可<br>\n";
//LOG_ALERT:アクションを直ちに起こすことが必要
syslog(LOG_ALERT, 'アクションを直ちに起こすことが必要');
print "アクションを直ちに起こすことが必要<br>\n";
//LOG_CRIT:危機的な条件
syslog(LOG_CRIT, '危機的な条件');
print "危機的な条件<br>\n";
//LOG_ERR:エラー条件
syslog(LOG_ERR, 'エラー条件');
print "エラー条件<br>\n";
//LOG_WARNING:警告条件
syslog(LOG_WARNING, '警告条件');
print "警告条件<br>\n";
//LOG_NOTICE:正常、しかし、注意すべき条件
syslog(LOG_NOTICE, '正常、しかし、注意すべき条件');
print "正常、しかし、注意すべき条件<br>\n";
//LOG_INFO:情報メッセージ
syslog(LOG_INFO, '情報メッセージ');
print "情報メッセージ<br>\n";
//LOG_DEBUG:デバッグレベルメッセージ
syslog(LOG_DEBUG, 'デバッグレベルメッセージ');
print "デバッグレベルメッセージ<br>\n";
} catch (Exception $e) {
print $e->getMessage();
}
try{
//LOG_EMERG:システムは使用不可
syslog(LOG_EMERG, 'システムは使用不可');
print "システムは使用不可<br>\n";
//LOG_ALERT:アクションを直ちに起こすことが必要
syslog(LOG_ALERT, 'アクションを直ちに起こすことが必要');
print "アクションを直ちに起こすことが必要<br>\n";
//LOG_CRIT:危機的な条件
syslog(LOG_CRIT, '危機的な条件');
print "危機的な条件<br>\n";
//LOG_ERR:エラー条件
syslog(LOG_ERR, 'エラー条件');
print "エラー条件<br>\n";
//LOG_WARNING:警告条件
syslog(LOG_WARNING, '警告条件');
print "警告条件<br>\n";
//LOG_NOTICE:正常、しかし、注意すべき条件
syslog(LOG_NOTICE, '正常、しかし、注意すべき条件');
print "正常、しかし、注意すべき条件<br>\n";
//LOG_INFO:情報メッセージ
syslog(LOG_INFO, '情報メッセージ');
print "情報メッセージ<br>\n";
//LOG_DEBUG:デバッグレベルメッセージ
syslog(LOG_DEBUG, 'デバッグレベルメッセージ');
print "デバッグレベルメッセージ<br>\n";
} catch (Exception $e) {
print $e->getMessage();
}
こんな結果が「/var/log/messages」に出力されましたφ(--)
Oct 28 05:12:41 localhost php-cgi: システムは使用不可
Oct 28 05:12:41 localhost php-cgi: アクションを直ちに起こすことが必要
Oct 28 05:12:41 localhost php-cgi: 危機的な条件
Oct 28 05:12:41 localhost php-cgi: エラー条件
Oct 28 05:12:41 localhost php-cgi: 警告条件
Oct 28 05:12:41 localhost php-cgi: 正常、しかし、注意すべき条件
Oct 28 05:12:41 localhost php-cgi: 情報メッセージ
Oct 28 05:12:41 localhost php-cgi: アクションを直ちに起こすことが必要
Oct 28 05:12:41 localhost php-cgi: 危機的な条件
Oct 28 05:12:41 localhost php-cgi: エラー条件
Oct 28 05:12:41 localhost php-cgi: 警告条件
Oct 28 05:12:41 localhost php-cgi: 正常、しかし、注意すべき条件
Oct 28 05:12:41 localhost php-cgi: 情報メッセージ
あと、ログの確認のために表示していたコンソール上に
Message from syslogd@localhost at Oct 28 05:12:41 ...
php-cgi: システムは使用不可
php-cgi: システムは使用不可
と表示されました。
ちなみに「LOG_DEBUG」のメッセージが表示されていないのは
私の環境におけるsyslogdの設定によるものです。
/etc/syslog.conf
もしくは
/etc/rsyslog.conf
にて指定しているはずですので、必要に応じて変更してください。
※syslog.conf(rsyslog.conf)の中身の見方については、頑張って勉強してください。
取りあえず、そんな感じ\(--)/