Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / чтение eventlog по заданному коду события / 19 сообщений из 19, страница 1 из 1
16.07.2013, 16:42
    #38333144
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
Есть процедура:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
  Dim D As Date
        D = Format(Now, "yyyy-MM-dd")
        Dim fileNamelog As String = "C:\log\log\" & D & ".txt"
        If IO.File.Exists(fileNamelog) = True Then
            IO.File.Delete(fileNamelog)
        End If
        Dim eventLogApp As New System.Diagnostics.EventLog("Security")

        Dim eventLogEntry As System.Diagnostics.EventLogEntry

        Dim eventCntr As Integer = 1
        Dim s As String = 4800
        For Each eventLogEntry In eventLogApp.Entries

            log("Event Number:" & eventCntr)

            log(eventLogEntry.EntryType.ToString)

            log("Время записи в журнал" & " " & eventLogEntry.TimeGenerated.ToString)

            log(eventLogEntry.Source.ToString)

            log(eventLogEntry.Category.ToString)

            log(eventLogEntry.EventID.tostring)   'подскажите как тут указать чтение только по коду 4800 и 4648

            log(eventLogEntry.MachineName.ToString)

            log(eventLogEntry.Message.ToString)

            log("-----------------------------------------------")

            eventCntr = eventCntr + 1

        Next



Хэлп :)
...
Рейтинг: 0 / 0
16.07.2013, 16:50
    #38333161
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
bombimbom,

Код: vbnet
1.
2.
3.
If eventLogEntry.EventID = 4008 Then 

End If



... или что вы имели в виду?
...
Рейтинг: 0 / 0
16.07.2013, 16:56
    #38333171
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
...
Рейтинг: 0 / 0
16.07.2013, 17:37
    #38333246
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
carrotikbombimbom,

Код: vbnet
1.
2.
3.
If eventLogEntry.EventID = 4008 Then 

End If



... или что вы имели в виду?

если ставлю eventLogEntry.EventID = 4008 он все-равно грузит все подряд, а вместо id пишет значение false
...
Рейтинг: 0 / 0
16.07.2013, 17:41
    #38333252
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
buser,

спасибо, но там по моему вопросу нет ответа, мне нужно понять как я могу перечислить определенные коды и получить по ним записи
...
Рейтинг: 0 / 0
16.07.2013, 17:49
    #38333263
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
может как-то в цикле можно перечислить?
...
Рейтинг: 0 / 0
16.07.2013, 18:13
    #38333301
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
Ладно...
И обратите внимание... на предупреждение на EventID
Код: c#
1.
2.
3.
	int[] ids = new int[]{4800, 4648};
	var evl =  new System.Diagnostics.EventLog("Security");
	var selected = evl.Entries.Cast<EventLogEntry>().Where(ent => ids.Contains(ent.EventID));
...
Рейтинг: 0 / 0
16.07.2013, 18:51
    #38333354
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
bombimbom
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
  Dim D As Date
        D = Format(Now, "yyyy-MM-dd")
        Dim fileNamelog As String = "C:\log\log\" & D & ".txt"
        If IO.File.Exists(fileNamelog) = True Then
            IO.File.Delete(fileNamelog)
        End If
        Dim eventLogApp As New System.Diagnostics.EventLog("Security")

        Dim eventLogEntry As System.Diagnostics.EventLogEntry

        Dim eventCntr As Integer = 1
        Dim s As String = 4800
        For Each eventLogEntry In eventLogApp.Entries
            If eventLogEntry.EventID = 4800 Or eventLogEntry.EventID = 4648 Then
            log("Event Number:" & eventCntr)

            log(eventLogEntry.EntryType.ToString)

            log("Время записи в журнал" & " " & eventLogEntry.TimeGenerated.ToString)

            log(eventLogEntry.Source.ToString)

            log(eventLogEntry.Category.ToString)

            log(eventLogEntry.EventID.tostring)   'подскажите как тут указать чтение только по коду 4800 и 4648

            log(eventLogEntry.MachineName.ToString)

            log(eventLogEntry.Message.ToString)

            log("-----------------------------------------------")

            eventCntr = eventCntr + 1
        End If
        Next





. вот так не работает? .. или куда вы Иф ставите? ....

ЗЫ: buser , надо еще для ТС провести лекцию, как в VB.NET лямбды пишутся .. :)
...
Рейтинг: 0 / 0
16.07.2013, 19:06
    #38333374
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
Кстати если пройтись по ссылке, то как мне показалось, пошустрее все кверится...
...
Рейтинг: 0 / 0
16.07.2013, 19:44
    #38333387
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
Тупо по примеру:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
IEnumerable<EventRecord> DisplayEventAndLogInformation(EventLogReader logReader)
        {
            for (EventRecord eventInstance = logReader.ReadEvent();
                null != eventInstance; eventInstance = logReader.ReadEvent())
            {

                // Cast the EventRecord object as an EventLogRecord object to 
                // access the EventLogRecord class properties
                yield return (EventLogRecord)eventInstance;
                
            }

        }

    string queryString =
	"<QueryList>" +
	"	<Query Id=\"0\" Path=\"Security\">" +
	"		<Select Path=\"Security\">*[System[(EventID=4800 or EventID=4648)]]</Select>" +
	"	</Query>" +
	"</QueryList>";	
		
    EventLogQuery eventsQuery = new EventLogQuery("Security", PathType.LogName, queryString);
    EventLogReader logReader = new EventLogReader(eventsQuery);	

    foreach( var item in DisplayEventAndLogInformation(logReader))
	{
		// Ваше Бла-Бла-Бла
	};
...
Рейтинг: 0 / 0
17.07.2013, 09:49
    #38333667
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
carrotik,
в этом случае если он увидит хоть одну запись с кодом 4800 то выгрузит все подряд, нужно грузить только 4800 и 4648
...
Рейтинг: 0 / 0
17.07.2013, 10:19
    #38333703
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
buser,

Большое спасибо все получилось... ух как ж это не просто все )) буду разбираться...

только запрос дали немного неверный
должно быть так:

Код: vbnet
1.
2.
3.
4.
5.
6.
      Dim queryString1 As String = _
 "<QueryList>" & _
"  <Query Id=""0"" Path=""Security"">" & _
"		<Select Path=""Security"">*[System[(EventID=4800 or EventID=4648 or EventID=1102 )]]</Select>" +
"	</Query>" +
"</QueryList>"
...
Рейтинг: 0 / 0
17.07.2013, 11:29
    #38333816
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
Ну просто есть свои нюансы в C#... я забыл что это VB.
Конструировать запросы и смотреть на xml можно прям в винде... через Event Viewer... Create Custom View и понеслась :)
...
Рейтинг: 0 / 0
17.07.2013, 13:31
    #38334064
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
buser,

подскажите еще немного :) а как можно указать дату только сегодня ?
Код: vbnet
1.
2.
3.
4.
5.
        Dim queryString1 As String = _
 "<QueryList>" & _
"  <Query Id=""0"" Path=""Security"">" & _
"		<Select Path=""Security"">*[System[(EventID=4800 or EventID=4648 or EventID=1102 or EventID=4634 or EventID=4625 or EventID=4689 or EventID=4688 ) and" & _
               "        TimeCreated[timediff(@SystemTime) = date.now ' как указать брать только сегодняшний день?]]]</Select>" + "</Query>" + "</QueryList>"
...
Рейтинг: 0 / 0
17.07.2013, 13:36
    #38334073
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
надо как-то отсюда вырвать кусок даты <TimeCreated SystemTime="2013-07-17T05:31:39.527001600Z" />
и сказать чтобы было равно ему?
...
Рейтинг: 0 / 0
17.07.2013, 13:45
    #38334084
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
buserНу просто есть свои нюансы в C#... я забыл что это VB.
Конструировать запросы и смотреть на xml можно прям в винде... через Event Viewer... Create Custom View и понеслась :)

все понял ))) что тут имелось ввиду )))
...
Рейтинг: 0 / 0
17.07.2013, 14:01
    #38334122
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
Не нужно. Просто с прошлой полуночи по текущую дату (полуночь)... Чтоб особо с xpath'ом не трахаться...
Код: xml
1.
2.
3.
4.
5.
<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[System[TimeCreated[@SystemTime&gt;='2013-07-16T08:00:00.000Z' and @SystemTime&lt;='2013-07-17T08:00:00.999Z']]]</Select>
  </Query>
</QueryList>
...
Рейтинг: 0 / 0
18.07.2013, 13:09
    #38335465
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
спасибо!
...
Рейтинг: 0 / 0
26.07.2013, 12:24
    #38344987
bombimbom
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
чтение eventlog по заданному коду события
подскажите, а бывало такое что при чтении евентлога в windows 2008server R2 пишет несанкционированный доступ?
как с этим бороться? хотя права администратора
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / чтение eventlog по заданному коду события / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]