【Perl】 続・Log::Dispatchで、TCP経由でsyslogを送信する際の注意点

投稿日: / 更新日:

この記事は2年以上前に書かれたものです。情報が古い可能性があります。

以前ご紹介した内容について、Sys::Syslogの最近のアップデートにより、setlogsockサブルーチンへの引数にポート番号を渡した場合には、getservbyname関数を使わず、渡されたポート番号を使用するよう修正されています。これにより、Sys::Syslogへ前回ご紹介したパッチ当てを行わなくても、スクリプト側の軽微な修正でsyslogを送信することができます。

修正後のスクリプトは以下のとおりです。

修正内容としては、Log::Dispatchnewする際に渡す引数のうちのハッシュキーsocketの値を、これまでの配列リファレンスからハッシュレフ(を配列リファレンスの第1要素にしたもの)へ変更し、そのハッシュレフのportキーにポート番号(514)を割り当てています。

以下はスクリプトの実行結果です。

正しくsyslogが送信されていることが確認できました。

以上、Perlでのsyslog送信に関する簡単な話題をご紹介しました。

Hinemos導入はアトミテックにお任せください

見積もりを依頼する

最新情報発信中

Xやメルマガでも、Hinemosの保守、
開発、導入、構築やカスタマイズ等の
お役立ち情報を発信しています。
是非ご登録ください。