Серверный лог
Добавлено: 14:33, 25.05.2009
Написал простенький парсер серверного лога и пришёл к выводу что нормально распарсить его достаточно сложно. К примеру само событие. снял ограничение с пользователя хх.ххх.хх.хх - вот адрес выдрать отсюда не просто. Или записи вроде подозрение на атаку (тип 1 - хх.ххх.хх.хх) которое вообще не в формате.
Конечно можно вкодировать фразы событий и делить по ним, но тогда о гибкости не может идти речи. Вся проблема в том, что нет разделителей и единого формата строки.
Всё же немного удивляет ваш подход, ведь есть всяческие общепризнанные технологии, это я ещё формат конфигов вспоминаю.
Если вас не затруднит, может пересмотрите всё таки формат логов? Безусловно PCRE вещь мощная, да собственно только это и спасает, но хочется писать какой-то более менее гибкий скрипт, который не свалится при наличии следующего нового события.
К примеру почему второе событие должно быть именно таким
[01.05.2009 - 9:54:51.356] ххх (хх.хх.хх.хх): создал канал stronghold
[01.05.2009 - 10:14:19.403] подозрение на атаку (тип 1 - хх.хх.хх.хх)
вместо уже существующих
[02.05.2009 - 21:24:05.794] ххх (хх.хх.хх.хх): подозрение на атаку (тип 33)
В принципе это более менее решено уже, только мне немнго не нравится танцы вокруг разделения событий и их объекты. Т.е.
ограничил пользователя ALEKSANDR
изменил пароль для своей учетной записи
создал канал stalker
изменил настройки канала fifa09
удалил сообщение в канале любители футбола
особенно показательно последнее. Не так просто сделать универсальный парсер, который бы нормально распознавал все события и их объекты вроде ников и названий каналов.
Чуток допилю и выложу скрипт, наверное, но прошу посмотреть в сторону улучшения формата лога.
с.ув.
Конечно можно вкодировать фразы событий и делить по ним, но тогда о гибкости не может идти речи. Вся проблема в том, что нет разделителей и единого формата строки.
Всё же немного удивляет ваш подход, ведь есть всяческие общепризнанные технологии, это я ещё формат конфигов вспоминаю.

Если вас не затруднит, может пересмотрите всё таки формат логов? Безусловно PCRE вещь мощная, да собственно только это и спасает, но хочется писать какой-то более менее гибкий скрипт, который не свалится при наличии следующего нового события.
К примеру почему второе событие должно быть именно таким
[01.05.2009 - 9:54:51.356] ххх (хх.хх.хх.хх): создал канал stronghold
[01.05.2009 - 10:14:19.403] подозрение на атаку (тип 1 - хх.хх.хх.хх)
вместо уже существующих
[02.05.2009 - 21:24:05.794] ххх (хх.хх.хх.хх): подозрение на атаку (тип 33)
В принципе это более менее решено уже, только мне немнго не нравится танцы вокруг разделения событий и их объекты. Т.е.
ограничил пользователя ALEKSANDR
изменил пароль для своей учетной записи
создал канал stalker
изменил настройки канала fifa09
удалил сообщение в канале любители футбола
особенно показательно последнее. Не так просто сделать универсальный парсер, который бы нормально распознавал все события и их объекты вроде ников и названий каналов.
Чуток допилю и выложу скрипт, наверное, но прошу посмотреть в сторону улучшения формата лога.
с.ув.