0

syslog()アプリケーションの 1 つで情報をログに記録する関数を使用しています。syslog()Fedora 14 Linuxで関数を呼び出すためにcコードを使用しています。

現在、syslog関数を次のように呼び出すと:

syslog(LOG_INFO,"MYLOG");

/var/log/messages次のようにファイルにメッセージが記録されています

Oct  7 04:32:53 syslogname MYLOG

ここで、メッセージの冒頭にカスタム優先度値 (137 など) を記録したいと考えていsyslog()ます。例: ログは次のようになります。

PRI Oct  7 04:32:53 syslogname MYLOG

PRIログに記録されたメッセージの先頭に数字を表示したい。Google 検索を行いましたが、適切な回答が得られませんでした。syslog()関数を使用してこれを行う方法について親切に提案してください。

4

2 に答える 2

0

/var/log/messages ファイルは、syslog デーモンによって書き込まれます。伝統的に、PRI 値はそこから取り除かれます。この質問とそこにある私の答えを参照してください。

重大度をログに記録するには、syslog デーモンに特別なフォーマッターを設定する必要があります。Rsyslog には、このためのテンプレートがあります。nxlog では、$SyslogSeverity フィールドを使用して、$Message または $raw_message の先頭に追加できます。

于 2012-10-11T22:01:08.187 に答える
0

rsyslog を使用して、必要な形式で書き込むことができます。要求された形式のテンプレートは次のようになります: %pri% %timereported% %syslogtag% %msg%

利用可能なパラメーターについては、http://www.rsyslog.com/doc/property_replacer.htmlを確認できます。

于 2013-05-02T07:51:11.870 に答える