Show page source of FrontPage #91371

= [[ProjectName]] Wiki =

== [[ProjectName]] とは ==

Windowsの中でいつのまにか発生しているエラーを通知できる環境を作ろうと考えています。

今の段階で監視対象として考えているのは、イベントログ(ApplicationおよびSystem)とテキスト形式のログファイルです。
ついでに UNIX/Linux で使われる syslog の転送にも対応して、複数のOSの通知を一括して管理できるようにしようとしています。

まだ実装もテストも不十分です。

== プログラム構成 ==

* EWatch
 Windowsサービスとして動作する本体のプログラム。
 設定ファイルに従ってイベントログやログファイルを監視し、指定されたアクションを実行します。

...今はこれだけです。

== アクション ==

* コマンド実行
 指定したコマンドを実行できます。コマンドの引数にログの内容を渡します。

* Eメール送信
 指定したEメールアドレスにログの内容を送ります。

* syslog転送
 指定した syslog サーバーにログを送ります。

== 設定ファイルの例 ==

notepad等でサッと編集しようとすると XML は面倒くさいので、json形式で記述するようにしています。

{{{ code javascript
{
	EventLog: {
		Application: [
			{ logLevel:'', match:null, ignore:null, actions:[ { type:'execute', CommandLine:'C:\\test.bat'} ]},
		],
		System: [
			{ logLevel:'E', match:null, ignore:null, actions:[ { type:'smtp', FromAddress:'???@gmail.com', ToAddress:'???@gmail.com,???@gmail.com', ServerHost:'localhost:25'} ]},
			{ logLevel:'E', match:null, ignore:null, actions:[ { type:'execute', CommandLine:'C:\\test.bat'} ]},
		]
	},
	File: {
		"C:\\test.log" :[
			{ match:'\\[ERROR\\]', ignore:null, actions:[ {type:'execute', CommandLine:'C:\\test.bat'} ]},
		]
	},
	Syslog: {
		"514" : [
			{ match:'ERR', ignore:null, actions:[ {type:'execute', CommandLine:'C:\\test.bat'} ]},
		]
	}
}
}}}

[[ReleaseList]]
[[RecentTickets(limit=5)]]