2011-12-21 23 views
1

を使用しているとき、私はアプリケーションにログインするためのsyslogを使用するロギングを有効化/無効化。コンパイル時にマクロを使用して、ロギングを無効にする必要があります。これはsyslog機能と関係がありますか、または私自身のマクロ/関数でsyslogをラップする必要がありますか?優先度に基づいてログメッセージを無効/有効にする機能はプラスです。は、syslog

答えて

1

たぶん、あなたはブロックを定義するにsetlogmaskへの呼び出しをラップすることができます。将来 syslogの呼び出しは無視されなければならないかを決定したマスク(「ログマスク」)を設定します

setlogmask。プログラムはsetlogmaskを呼び出していない場合は、 syslogが任意の呼び出しを無視しません。あなたは、特定の優先順位のメッセージは、将来的に無視されなければならない を指定するには、setlogmaskを使用することができます。このような

何か:

#ifdef LOG_LEVEL1 
setlogmask (LOG_UPTO (LOG_NOTICE)); 
#endif 
#ifdef LOG_LEVEL2 
setlogmask (LOG_UPTO (LOG_WARNING)); 
#endif 
+0

ご返信いただきありがとうございます。私はsetlogmaskについて知らなかった。これはまさに私が望んでいたものではありませんが、私が得ることができる最高のようです。 – Elektito