syslog() はログ メッセージを生成します
syslog(LOG_ERR, "%s が失敗しました: %d (%m)", str, errno); syslog(LOG_NOTICE, "%s が失敗しました: %d (%m)", str, errno); syslog(LOG_INFO,"%s",str);
この情報はどこに保存されますか?
サーバー内に LOG_ERR、LOG_NOTICE、LOG_INFO という名前のファイルが見つかりません。
提案してください。
Under Linux you can find them here : /var/log/syslog
, if you run this simple program:
#include <syslog.h>
int main(int argc, char **argv)
{
/* Various syslog messages */
syslog (LOG_CRIT, "%s", "That's critic");
syslog(LOG_ALERT, "An alert\n");
syslog(LOG_ERR, "Error on this DAEMON\n");
return 0;
}
and open a terminal and run this:
toc@UnixServer:/var/log$ tail -f syslog
You should see something like this:
Aug 18 08:42:21 TarekServer SYSLOG: That's critic
Aug 18 08:42:21 TarekServer SYSLOG: An alert
Aug 18 08:42:21 TarekServer SYSLOG: Error on this DAEMON
それらは syslog バッファにダンプされ、そこでsyslogd
/rsyslogd
がそれらをピックアップし、 の構成によって決定される適切な場所に配置し/etc
ます。