ログファイルを送信するアプリケーションmyapp
がありますのみから/var/log/myapp.log
。 myapp
はC++で記述されています。次のサンプルコードは、ログを/ var/log/syslogにのみ送信します。私のOSはLinux(具体的にはUbuntu 12.04)です。また、私のマシンには、syslogよりもrsyslogがインストールされていることがわかりました。
#include <stdio.h>
#include <unistd.h>
#include <syslog.h>
int main(void) {
openlog("myapp", LOG_PID|LOG_CONS, LOG_USER);
syslog(LOG_INFO, "abc 10");
closelog();
return 0;
}
Syslog(3)のマンページによると、openlog()の最初のパラメーターは、ファイル名ではなく、ログメッセージのプレフィックスを設定します。 LOG_LOCAL0のような機能を使用して出力にフラグを付けてから、 / etc/syslog.confを使用してsyslogdを構成 これらのログを目的のファイルに送信できます。