MyTetra Share
Делитесь знаниями!
Codeigniter 2: логирование и как его включить
Время создания: 07.06.2014 09:45
Текстовые метки: codeigniter, log, логирование, ошибки
Раздел: Компьютер - Программирование - Язык PHP - CodeIgniter
Запись: xintrea/mytetra_syncro/master/base/1402119911zrqu9l883l/text.html на raw.github.com

Примечание:


По-умолчанию CodeIgniter выводит все ошибки PHP. Вы можете изменить это поведение, когда завершите разработку. Вы найдете функцию error_reporting() вверху файла index.php. Выключение вывода сообщений об ошибках не влияет на логгирование.


Логирование

Для логирования используется функция


log_message('level', 'message');

Эта функция позволяет вам писать сообщения в лог-файлы.

В первом параметре вы должны указать уровень критичности сообщения:

  • 'debug'
  • 'error'
  • 'info'

а во втором само сообщение. Например:


if ($some_var == "")
{
    log_message('error', 'Некоторая переменная не содержит значения');
}
else
{
    log_message('debug', 'Значение переменной установлено верно');
}

log_message('info', 'Цель этой переменной в том, чтобы хранить какое-то значение');


Есть три типа сообщения:

  1. Error Messages. Это фактические, актуальные ошибки, такие как ошибки PHP или пользователей.
  2. Debug Messages. Это сообщения для отладки, например можно использовать чтобы проверить был ли инициализирован класс.
  3. Informational Messages. Это самый низкий приоритет сообщения, просто предоставление информации в отношении какого-либо процесса. CodeIgniter использует для этого типа сообщений не родные методы языка, но вы вполне можете пользоваться этим типом сообщений.


Замечание:

1. Для того чтобы была возможность вести логи, ваша папка «logs» должна быть доступна для записи. Путь к каталогу с логами указывается в файле config/config.php:


$config['log_path'] = '/var/www/app/logs/';


Внимание! Похоже, что в CodeIgniter есть ошибка - он не позволяет указывать относительный путь для лога, например через системный дефайн APPPATH. Работает только полный путь. Если оставить эту настройку в виде пустой строки, то логи будут складываться в подкаталог logs каталога приложения (т.е. в APPPATH.'/logs').


2. К тому же, вы должны установить уровень для ведения логов. Уровень указывается в файле config/config.php:

$config['log_threshold'] = 4;

Можно, например, оставить только протоколирование критических ошибок, а остальные игнорировать. Если этот порог установить на ноль, то отладка будет отключена.

Значения этой настроечной переменной следующие:

  • 0 = Disables logging, Error logging TURNED OFF
  • 1 = Error Messages (including PHP errors)
  • 2 = Debug Messages
  • 3 = Informational Messages
  • 4 = All Messages




Так же в этом разделе:
 
MyTetra Share v.0.65
Яндекс индекс цитирования