2017-05-24 16 views
0

端末でメッセージを記録するには、syslogを使用する必要があります。 インターネット上でコードを検出しましたが、機能しません。 コード:syslogを使用して端末にメッセージを記録する方法は?

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

int main(void) 
{  
openlog("slog", LOG_PID|LOG_CONS, LOG_USER); 
syslog(LOG_INFO, "A different kind of Hello world ... "); 
closelog(); 
return 0; 
} 
+2

LOG_CONSが実行したいと思っているだけではありません。 syslog機能のドキュメントを読んでください。 LOG_PERRORフラグは、あなたがやりたいことにもっと似ています。 – Cheatah

+0

[printk](https://en.wikipedia.org/wiki/Printk)の設定をご覧ください。 –

+1

@Ipor、 'printk'はユーザーモードプログラムと何が関係していますか? –

答えて

1

感謝を。

これで、openlog()関数でLOG_PERRORオプションを使用して端末にメッセージを出力できました。コンソールで印刷するにはLOG_CONSオプションは必要ありません。 助けを借りて@ Cheatahに感謝します。 openlog( "slog"、LOG_PID | LOG_PERROR、LOG_USER);

ありがとうございます。

-1

これは動作するはずです:コメントと回答のためのすべてのopenlog("slog", LOG_PID|LOG_CONS, LOG_DAEMON);

+0

これはコメントであり、回答ではなく、3回以上担当していただき、コメントすることができます。 not(まだ)downvoted。 –

+0

このコードスニペットをありがとうございました。すぐに役立つかもしれません。適切な説明は、なぜ*これが問題の良い解決策であるかを示すことによってその教育上の価値を大幅に改善し(// meta.stackexchange.com/q/114762)、将来の同様の、しかし、同一ではない質問。説明を追加するためにあなたの答えを[編集]し、どんな制限と前提が適用されるかを示してください。 –

関連する問題