2012-05-06 6 views
6

Jak wiemy, możemy używać klasy EventLog do pisania dzienników zdarzeń, ale nie jestem pewien, jak napisać nazwę kategorii w moim dzienniku zdarzeń. Thoug zapewnia parametru kategorii, na przykład, jeden z rodzaju WriteEntry jest:Jak napisać dziennik zdarzeń kategoria

public void WriteEntry(
string message, 
EventLogEntryType type, 
int eventID, 
short category 

)
I to właśnie pokazuje numer w moim dzienniku. Dlaczego typ kategorii jest krótki, a nie ciąg? Jak wyświetlić nazwę kategorii w Podglądzie zdarzeń? Dzięki! Nawiasem mówiąc, nie utworzymy niestandardowego pliku CategoryMessageFile.

Odpowiedz

5

Możesz napisać wpis dziennika zdarzeń z danej kategorii, ale trzeba utworzyć dodatkowy natywną dll ze stołem Zasobów String, który jest zarejestrowany w dzienniku zdarzeń. To komplikuje twoje rozmieszczenie z większym trudem. Aktualnie masz zrobić podczas instalacji

  1. Aby utworzyć nowy dziennik źródeł zdarzeń musisz mieć prawa administratora za każdym razem tworzyć nowe źródło. Dlatego rozsądne jest zebranie wszystkich źródeł, aby można było zainstalować od razu podczas początkowej instalacji.
  2. Utwórz natywną bibliotekę dll, która zawiera tabelę zasobów ciągów dla każdego identyfikatora kategorii, który chcesz dostarczyć.
  3. Zarejestruj dll kategorii w rejestrze, aby system Windows wiedział o tym.

Teraz możesz użyć przeciążenia, aby napisać komunikat z dziennika zdarzeń z daną kategorią.

Istnieje bardzo dobry Dr. Jobs Journal article opisujący dokładnie twój problem.

+0

Tak, znalazłem ten artykuł, wiem, że możemy stworzyć dodatkową natywną bibliotekę DLL, ale nie jest to zalecane w naszym rozwoju. Więc chcę wiedzieć, czy mogę użyć domyślnych nazw kategorii systemu? –

+0

Co masz na myśli, gdy nie jest zalecane? To jedyny sposób. Jeśli ponownie korzystasz z bibliotek dll kategorii z systemu Windows, musisz zarejestrować je dla źródła zdarzeń. Możesz użyć tylko jednego pliku kategorii dla każdego źródła zdarzeń. Teraz projektujesz źródła zdarzeń dla każdej nowej biblioteki dll kategorii, której chcesz użyć. Wątpię, aby były tam opisowe nazwy, takie jak Source1, Source2, Source3, tylko w celu ponownego użycia 3 plików o różnych kategoriach, które zawierają wiadomości, nad którymi nie masz kontroli. –

-1

masz tyle przeciążeń - które można zaspokoić (dlaczego wyborze skomplikowanych :)?)

kategoria jest filtrowanie zdarzeń w dzienniku zdarzeń (co można zrobić również z źródłowego attribtue)

enter image description here

wykorzystywać pierwszą lub drugą.

edit

EventLog.CreateEventSource("MyWebApplication", "Application") ; 
+0

Jesteś zapisu, ale pisanie kategoria jest wymogiem projektowania w naszej sytuacji. –

+1

To nie odpowiada na pytanie "Jak napisać kategorię do dziennika zdarzeń". – Despertar

+0

@Despertar masz rację. zaktualizowany. –