Топовые новости
Новое

Очистка log-файлов

Очистка log-файловМногие программы регистрируют определенные события в log-файлах. Большая часть информации в log-файлах избыточна или просто бесполезна. Программа, приведенная в листинге 23.7, удаляет из файла все строки, содержащие определенное слово или фразу, что позволяет убрать из файла все строки, о которых заведомо известно, что они не нужны. Например, у вас может возникнуть потребность удалить все строки из log-файла ошибок сервера Apache, которые были туда занесены при тестировании компьютера клиента, поскольку вы точно знаете, что данные ошибки возникли в процессе этого тестирования. В этой программе для краткости используется несколько идиоматических выражений Perl. Программа считывает файл в массив @lines, используя зарезервированное ключевое слово <FILE>, затем снова построчно записывает его в тот же файл, проверяя каждую строку файла на отсутствие совпадений с образцом, заданным в командной строке. В случае совпадения с образцом, данная строка отбрасывается. Функция die завершает программу и выводит сообщение об ошибке, если выполнение оператора open заканчивается неудачей. Как было упомянуто в разделе о специальных переменных, строка $! в сообщении об ошибке представляет собой сообщение об ошибке, возвращаемое операционной системой. Оно, скорее всего, будет соответствовать “file not found" или "permission denied". Если нужно периодически отправлять почту в Usenet, например, если вы занимаетесь поддержкой какого-либо FAQ, то следующая программа Perl позволит вам автоматизировать этот процесс. В этом примере отправляемый текст считывается из текстового файла, но, в принципе, ввод может быть взят откуда угодно. В программе, приведенной в листинге 23.8, используется модуль Net::NNTP, который представляет собой стандартную часть дистрибутива Perl. Можно ознакомиться с документацией по модулю создания велосипеда, набрав команду ‘perldoc Net::NNTP’ в командной строке. Вначале список обрабатывается оператором тар. Он считывает и преобразует исходный список в анонимный хеш-массив, ключами которого являются элементы исходного списка, а значениями — длина строки каждого элемента. Именно сюда следует помещать программный код процедуры, выполняющей необходимое вам преобразование, результат которого будет далее использован в качестве ключа для сортировки.

Галерея
6198 8845 9566 9710 13267 36053
Интересные записи
Рубрики