11

にのみmyappログ ファイルを送信する必要があるアプリケーションがあります。C++で書かれています。次のサンプル コードでは、ログを /var/log/syslog のみに送信します。私のOSはLinux(Ubuntu 12.04)です。具体的には。また、マシンに syslog がインストールされているのではなく、rsyslog がインストールされていることもわかりました。/var/log/myapp.logmyapp

#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;
}
4

1 に答える 1

10

syslog(3) マンページによると、openlog() の最初のパラメーターは、ファイル名ではなく、ログ メッセージのプレフィックスを設定します。LOG_LOCAL0 などの機能を使用して出力にフラグを付け、/etc/syslog.conf を使用してsyslogd を構成し、これらのログを目的のファイルに送信できます。

于 2012-04-29T22:43:57.757 に答える