クロスプレートフォームsyslogクライアントを開発するために、私はsyslogシステムコールを使用せずにこれを実行しようとしています。私はこのクライアントをC++で開発しており、現在はLinux
でテストしています。私が置き換えている古いsyslogクライアントは、syslogシステムコールで完璧に動作していました。 どのように、それは単に動作しません。トレースは/var/log/user.log
にありません。それ以外の場所では(grep
)です。しかし、私はnetcat
と正しいポートで聞いてそれを受け取ります。途中でポート514
を使用してはいけませんか?Linux - Syslogクライアント
トレースはUDP/514
に送信する必要があります。私はRFC 3164を固執しようとしましたが、何かが明らかに間違っています。
誰かが私にこれを解決するヒントを与えることができたら、本当に感謝しています。
Trace: severity: 2 (Critical); facility: 23 (Local Use 7) ==> priority: 186
sh$> sudo nc -ul localhost -p 514
<186>Oct 18 10:36:03 hostname test_trace: | 10:36:03.242995 | CRIT | xxx-MAIN[5473-000] | 00000 | 0008 : main : user_msg
ありがとうございます!
私は自分自身の問題でこの問題を発見したと思う:Rsyslog(私のsyslogサーバ)はUDP/514を正しく聞いていない。
$ModLoad imudp
$UDPServerAddress 0.0.0.0
$UDPServerRun 514
ある/etc/rsyslog.conf
誰かがそれはまだUDP/514上でリッスンしない理由の任意のアイデアを持っている場合、私は本当に、なぜ表示されていない、本当にthanksful原因であると思います。
もう一度ありがとうございます。
ありがとうございます。あなたが正しいです。さて、リモートクライアントで動作するようにsyslogサーバを誤って設定したと思う。 UDP/514で聞くようにする必要があります。なぜなら、明らかにデフォルトの動作ではないからです。 – Rippalka