EventのAttributeの意味を教えてください。
C#, Windows7, Visual Studio 2015 communityでClassを開発しています。
http://blog.okazuki.jp/entry/2014/07/13/000023のコードを参考に、Attributeを追加しています。
//既存のコード
[Event(1, Keywords = Keywords.Lifecycle, Level = EventLevel.Informational, Message = "Process start", Opcode = EventOpcode.Start, Task = Tasks.App)]
public void Start() {
this.WriteEvent(1);
}
[Event(2, Keywords = Keywords.Lifecycle, Level = EventLevel.Informational, Message = "Process stop", Opcode = EventOpcode.Stop, Task = Tasks.App)]
public void Stop() {
this.WriteEvent(2);
}
[Event(3, Keywords = Keywords.Diagnostic, Level = EventLevel.Verbose, Message = "Execute query{0}", Opcode = EventOpcode.Info, Task = Tasks.DB)]
public void Query(string query) {
this.WriteEvent(3, query);
}
//新規のコード
[Event(4, Keywords = Keywords.Date, Level = EventLevel.Verbose, Message = "Execute test DATE{0}", Opcode = EventOpcode.Info, Task = Tasks.App)]
public void showDate(){
this.WriteEvent(4);
}
}
既存コードの下に、新規のコードを追加し、それを呼び出している部分に、
MyEventSource.Log.Start();
MyEventSource.Log.Query("select * from dual");
MyEventSource.Log.showDate();
MyEventSource.Log.Stop();
のように追加しました。
public static class Keywords {
public const EventKeywords Diagnostic = (EventKeywords)1;
public const EventKeywords Lifecycle = (EventKeywords)2;
public const EventKeywords Date = (EventKeywords)4;
}
も追加しました。
しかし、
MyEventSource.Log.showDate();
のみ、なにも出力しません。
[Event(4, Keywords = Keywords.Date, Level = EventLevel.Verbose, Message = "Execute test DATE{0}", Opcode = EventOpcode.Info, Task = Tasks.App)]
public void showDate(){
this.WriteEvent(4);
}
のattribute、またはWriteEvent(4)に問題があるかと思います。
[Event(4, //4は連番? 番号が抜けてもOK? 任意の数値をつけてよいのか?
Keywords = Keywords.Date, //KeywordsはKeywords classに用意すれば任意の文字でOK?
Level = EventLevel.Verbose, //なにを指定すべきか?
Message = "Execute test DATE{0}",
Opcode = EventOpcode.Info, //なにを指定すべきか?
Task = Tasks.App //TaskはTask Classに項目を用意すればなにでもよいのか?
)]
this.WriteEvent(4);//なぜ4? Event(4, と一致させる必要があるのか?
のように、attributeに関して疑問が山積しています。
すっきり解説していただけたらと願っております。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/02/08 08:50
2016/02/08 10:09