Ben varsayılan olarak düzenli günlük imkanları sağlayan çeşitli yöntemlerle en az olan bir OlayKaynağı beyan edebilmek istiyorum.ETW'de bir EventSource alt sınıfını oluşturmak mümkün mü?
örn.
- Bilgisi()
- (uyar)
- Hata() her hizmetin içinde, devraldığı belirli olay kaynağını tanımlamak için ek olarak
Ben muktedir istiyorum Yukarıdakileri sağlayan temel sınıf. Şu anda manifesto oluşturan EventRegister.exe uygulaması, olay kaynağının mühürlenmesi gerektiğinden şikayetçidir.
Bunu yanlış mı yapıyorum? Eğer öyleyse, yukarıdakilere nasıl ulaşabilirim? Ben Kurumsal Kitaplığı'ndan SLAB aksine Kanalları için desteği vardır anlıyorum son ve en büyük Microsoft.Diagnostics.Tracing (ön) kullanıyorum
public class ETWBase : EventSource
{
[Event(1, Channel = EventChannel.Admin, Message = "Info Message: {0}")]
public void Info(string message) { this.WriteEvent(1); }
[Event(2, Channel = EventChannel.Debug, Message = "Debug Message: {0}")]
public void Trace(string message) { this.WriteEvent(2); }
}
[EventSource(Name = "ABC-MyEtwServiceEventSource")]
public sealed class MyEtwServiceEventSource : ETWBase
{
public static MyEtwServiceEventSource Log = new MyEtwServiceEventSource();
[Event(3, Channel = EventChannel.Debug, Message = "My specific Message: {0}")]
public void Trace(string message) { this.WriteEvent(3); }
}
: örnek kodu inceleyin.
Microsoft.Diagnostics.Tracing sınıfı sızdırmaz olmasını bekler. EventSource'u devralan sınıfın mühürlenmesi gerekiyor, eğer mühürlenmiş olarak işaretlemezseniz, manifesto oluşturamazsınız. Bunun işe yarayacağından şüphe duyuyorum. – KRP
Yaygın yöntemleri birden çok EventSource üzerinde geniş bir sistemde nasıl paylaşırım? – jaffa
Bu cepheden gerçekten emin değilim, sanırım bunu yapamayız. – KRP