title_parttitle_parttitle_part
静岡県浜松市であれこれソフトを開発している A.K.I Software のブログです。日々の開発日記やサーバー・セキュリティ関連の話題なども掲載。
<< 2018/12 >>12345678910111213141516171819202122232425262728293031
Powered by BLOM pSyslog Server Version 1.06 をリリースしました。
小さくも大きくも閉じたりもしません
15/10/04 02:26 / その他のソフト

表題のバージョンをリリースしました。

1.05 の時にリリース情報書いていない気がします・・・

気を取り直して、先日掲示板でお問い合わせを頂いた時の事なんですが・・・正直に言います!

「キーワードを工夫するってあのログの仕様じゃ工夫するもなにもないですね!!」

そんなの0.2秒考えればわかることなんですよ。
キーワードをトリガーとした場合に「文中にこれがあって、これがない場合」ってのはいわゆる条件分岐に当たるので、単純一致ではやりようがないんですね。

正規表現を使えば可能には可能なんですが、生憎、開発に利用している Delphi には正規表現は搭載されておりません。
(最新にはあるんですけど。)
過去に正規表現ライブラリを作ろうと考えたこともありましたが、面倒だったので断念。(正規表現使えますなんて謳うと、当然全機能を実装しなければなりませんので・・・)

3,4日、もやもやとした気分で居たのですが、よく考えたらオリジナルのスクリプト言語があるんだっけ。
(このブログにもカテゴリがありますが、DScript という奴です。時々続きを作っていて、今は開発名 Aqua という名前になっていますが)

あれ改造すればいけるんじゃないかな?とコードを眺めてイケそうだと判断して改造に着手。
条件判断は and と or だけあればよく、ループとか、swich とかは必要ありませんので、DScript のサブセットを作って組み込んで見たところ、いい感じに動きそうです。

掲示板で出てきた電文例ですが、

1) *Jul 5 09:41:36: changed state to up
2) Sep 22 15:19:29: changed state to up

changed state to up をキーワードにすると両方ともヒットしてしまいます。

変動するのは日付時刻ですので、ここをキーワードに含めることはできません。

この場合、2のみを該当させたい場合、人間の思考的に考えますと「電文中に * が無くて、changed state to up がある場合のときだけメールを送りたい」になります。

んで、1.06 のキーワードに下記のように書くと2のみを該当させることができます(出来るはずです)

(!"*") and ("changed state to up")

a)! は not ですので「(!"*")は電文中に * が無い場合」になります。
b)「("changed state to up")は電文中に changed state to up が有る場合」になります。

両者が AND で接続されていますので「aとbの条件を全て満たした時にメールを送る」となります。
OR で接続すれば「aとbの条件のどちらかを満たした時にメールを送る」とすることもできます。

評価式はなんぼでも増やせますので

((!"*") and ("changed state to up")) or ("link-down")

なんて書けば
電文中に「* が無くて changed state to up が有る場合、もしくは link-down があればメールを送る」なんて条件も付けることができます。
ただ、pSyslog 的には or は使う機会は少ないでしょう。
キーワードリストを増やせば同じことになりますので。
(仕様的に or を除去すると評価式の処理ルーチンを大幅に書き換える羽目になるのでそのままにしてあります)

初期の言語仕様が 2008年ですので、6,7年眠っていたスクリプト言語が思わぬところで芽を出したかもしれません。
なんでも作っておくもんですね(笑)

[更新日付:2015/10/04 02:26:12]
トラックバックを見る(0)
Log Link [http://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+0134dad8113a24f655d4c885a3f92ef8cfc449f8]
TB Link [http://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+0134dad8113a24f655d4c885a3f92ef8cfc449f8]

記事へのコメント

コメントはありません

名前
コメントキー
 
コメントする時はキーを正確に入力して下さい
コメント
アドレスを含んだコメントはできません
© 2008-10 A.K.I Software all rights reserved.