1. ホーム
  2. c

[解決済み] linuxは私のsyslogをどこに保存しますか?

2022-03-12 21:23:11

質問

私は、ログファイルに何かを記録する簡単なテストアプリケーションを書きました。私は リナックスミント で、アプリケーションの実行後、このコマンドでログを表示しようとしました。

tail -n 100 /var/log/messages

が、messagesというファイルが存在せず、テストもされていないとかなんとか。以下、私のコードをご覧ください。多分、私が何か間違ったことをしているか、ファイルがそこに保存されていないか、linux mintでログを有効にする必要があります。

#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>

void init_log()
{
    setlogmask(LOG_UPTO(LOG_NOTICE));
    openlog("testd",LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
}

int main(void) {

    init_log();
    printf("Session started!");
    syslog(LOG_NOTICE, "Session started!!");
    closelog();

    return EXIT_SUCCESS;
}

解決方法は?

私のUbuntuマシンでは、以下の出力が表示されます。 /var/log/syslog .

RHEL/CentOS マシンの場合、出力は次のようになります。 /var/log/messages .

これを制御するのが rsyslog サービスが無効になっている場合、このサービスを systemctl start rsyslog .

他の方が指摘されているように、あなたの syslog() の出力がログに記録されます。 /var/log/syslog ファイルを作成します。
システムログ、ユーザーログ、その他のログは、以下の場所で見ることができます。 /var/log .

詳しくはこちら おもしろリンク .