syslog
ロギングに使用するアプリケーションがあります。このアプリケーション内の別のライブラリはopenlog()
、それ自体の使用法を明示的に要求します。この場合、何か奇妙なことが起こります。stderr出力は、すでに開いているtcpソケットに送信されます。libの出力ログをに変更すると、stderr
またはstdout
すべてが正常に機能します。syslog
これが2つの接続の問題なのか、それともコードのどこかで混乱しているだけなのか、疑問に思っていました。
これは、メインアプリのsyslog初期化です。
openlog( "app", LOG_PID|LOG_NDELAY, LOG_LOCAL1 );
これは、libのsyslog初期化です。
openlog("lib", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);