1. ホーム
  2. c

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

2023-04-24 14:13:55

質問

私は、ログファイルに何かを記録する簡単なテストアプリケーションを書きました。私は linux mint を使用しており、アプリケーションが実行された後、私はこのコマンドを使用してログを表示しようとしました。

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 .

詳細:ここでは 面白いリンク .