1

使用しようとしてsyslog()いますが、man ページを読んでみるとopenlog()、「facility 引数は、後続の呼び出しで何も指定されていない場合に使用されるデフォルトを確立し、syslog()"

したがって、私が理解していることから、それを行う方法は次のとおりです。1.openlog施設を設定するために呼び出します2.syslog()ログに記録するために呼び出します。3. に電話しcloselog()ます。

しかし、syslog() を呼び出す前に openlog() を呼び出さないとどうなるでしょうか? じゃあどんな施設?「何も指定されていない場合に使用されるデフォルトを確立する」とはどういう意味ですか。そうでない場合、どこで指定できopenlog()ますか?

4

1 に答える 1

1

ああ、私はそれを得たと思います。それが意味することは

syslog(int 優先度、const char *メッセージ、...);

ここで、freebsd の man ページの例にあるように、優先度は複数のフラグにすることができます。

syslog(LOG_INFO|LOG_LOCAL2, "foobar エラー: %m");

ここで、ファシリティは LOG_LOCAL2 で、優先度は LOG_INFO です。したがって、上記のように syslog() の呼び出しで何も指定されていない場合、openlog() で言及されている機能が有効になります。

于 2013-05-14T11:13:06.180 に答える