Самостоятельное создание сайта
Самостоятельная раскрутка и продвижение сайта

Учимся использовать логи

   Большинство всех вопросов на сайте начинаються "Помогите, не работает, не запускается ...". Все ответы сводяться к подсказкам и советам, а вот почему мне раньше не пришло в голову написать статтью о том, как и где искать ошибки или об использовании логов я не знаю. Поэтому восполняем пробел и всем советую ознакомится с этой статье.

   Лог (логи) — (англ. log, возможно Вы встречали раньше файлы *.log) как правило, текстовый файл в котором в хронологическом порядке идет перечень событий, журнал событий, дневник, запись, протокол т.д. Логи создаются различными программами, сервисами, операционными системами. Для каждой программы может создаваться свой лог (текстовый файл).

   При разработке сайта, для веб разработчика ценными будут логи созданые:
   1. логи на уровне операционной системы:
      - Мой компьютер — Панель управления — Административные инструменты — Просмотр событий
      - Мой компьютер — Выполнить - "eventvwr.msc"


   Сюда попадают записи о все события в операционной системе Windows. В том числе, здесь, на вкладках:
      - Custom Views / Administrative events
      - Windows Logs / System

   Вы можете найти логи связаные с сервисом Apache (если веб сервер Apache запущен как сервис) и другие ошибки вызваные, например, расширениями (extension) php. По большому счету сюда заносяться все ошибки Windows. Apache, как сервис, считается часть Windows, поэтому если при запуске сервиса Apache возникает какая-угодно ошибка, Вам нужно искать расшифровку и этой ошибки здесь. Далее, если расшифровка ошибки в логах, не дает Вам понять в чем же сообственно проблема, скопируйте основные части лога в google и ищите похожие проблемы. С большой вероятностью Вы найдете ответы, которые Вам помогут. При запуске любой игры, программы, сервиса, когда возникает ошибка, в логах появляеться новая запись с более детальным описанием ошибки. Отталкиваясь от этого Вы всегда можете найти ответ в интернете.

   2. логи на уровне Apache:
   помимо Windows логов, сам Apache создает собственный лог в ввиде текствого файла. При установке и настройке веб сервера Apache в файле httpd.conf есть строка:    ErrorLog "C:/apache/error.log"    где, "C:/apache/error.log" путь к файлу-логу веб сервера Apache. Установите свой путь или просто запомните, в случае возникновения ошибок при запуске Apache, Вам нужно открыть этот файл и найти последние записи, где будут отражаться причины ошибок. Помимо этого веб сервер Apache позволяет создавать логи отдельно для каждого виртуального хоста. Пример виртуальных хостов в файле conf/extra/httpd-vhosts.conf:

<VirtualHost *:80>
      DocumentRoot "C:/apache/symfony/www/web"
      ServerName symfony
      ServerAlias www.symfony
      ErrorLog "C:/apache/symfony/error.log"
      CustomLog "C:/apache/symfony/access.log" common
   </VirtualHost>

   <VirtualHost *:80>
      DocumentRoot "C:/apache/phpmyadmin"
      ServerName phpmyadmin
      ServerAlias www.phpmyadmin
      ErrorLog "C:/apache/phpmyadmin/error.log"
      CustomLog "C:/apache/phpmyadmin/access.log" common
   </VirtualHost>

   3. логи на уровне php:
   при настройке конфигурации php в файле php.ini, для настройки отображения логов, находим следующие строки:

   error_reporting = E_ALL & ˜E_NOTICE & ˜E_STRICT //виды и типы логируемых отображаемых ошибок
   log_errors = On //включаем логирование
   log_errors_max_len = 1024 //определяем максимальный размер файла логов (1024 байт)
   error_log = php_errors.log //указываем имя файла в котором будут сохраняться логи, эти файлы будут создаваться в корне Вашего виртуального хоста. Для каждого хоста будет создан свой файл.

   Помимо того, что в файл будут записываться все php ошибки, Вы также можете создавать логи во время выполнения php скрипта с помошью функции error_log. Это может быть полезно, если Вы активно используете в коде try … catch, в таком случає, скрипты не будут завершаться в случае критических ошибок, а в логах всегда будут отмечены все непредвиденные ошибки.

   try {
      $r = 5/0;
   } catch (Exception $exc) {
      error_log($exc->getMessage());
   }

   По результатам выполнения этого кода, в файл логов php_errors.log будет вставлена строка на подобии такой:

   [13-Jan-2011 15:24:10] PHP Warning: Division by zero in C:\apache\test\www\index.php on line 5

   Вот и все, используйте логи везде где только можно, и Вы быстро будете находить ошибки в коде и причины неправильной обработки данных.

483
4.1 20
Рейтинг: +4.1 , голосов 20
Вы еще не голосовали!
Добавить комментарий (комментариев: 1)
Удалить ответ

Ваш почтовый ящик никогда не будет опубликован
Трудно разобрать цифры? Нажмите на рисунок, чтобы обновить.
#1 13/03/2012 14:11 chooch
reply
Спасибо, пригодилось )

Дополнительно

» С чего начать сайт?

» Установка программ

» Пример создания сайта

» Хостинг и домен

» Оптимизация сайта

» Раскрутка сайта

» Заработок web-мастера

» Примеры PHP/Javascript

» Блог и мои записки

Последние новости

Статьи по рейтингу

» Особенности покупки контента 5.0 1
» Выбор хостинга 4.8 5
» Поисковые системы 4.7 9
» Курс молодого web-мастера 4.6 21
» Где взять бесплатные ссылки 4.5 11
» Что такое сниппеты 4.5 6
» Addstudio - SEO модуль 4.5 4
» Отладка js и CSS 4.4 14
» Стратегия дохода на Sape.ru 4.3 3
» Каталоги и биржи статей 4.3 4