xPDO::log

xPDO::log - Подключает указанный класс. Это удобный способ подключить файлы типа .class.php. Если файл не наден, вернется false и ошибка будет возвращена в лог. Этот метод только подключает файл, но не инициализирует его.

Уровни логирования:

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

Пример вызова:

Простая запись сообщения в лог, параметры всзяты по умолчанию:

<?php
$xpdo->log(xPDO::LOG_LEVEL_ERROR,'An error occurred.');

В журнале это будет выглядеть так:

[2013-09-15 14:21:25] (ERROR @ /index.php) [Mobile Detect] An error occurred.

Спецификация для сниппета:

Потому что приложения в MODX в конечном счете работает через файл index.php это может быть полезно, чтобы добавить дополнительную информацию:

<?php
$xpdo->log(xPDO::LOG_LEVEL_ERROR,'An error occurred.','','MySnippet');

[2013-09-15 14:22:48] (ERROR in MySnippet @ /index.php) An error occurred

Спецификация для файлов:

<?php
$xpdo->log(xPDO::LOG_LEVEL_ERROR,'This is my error message...','','MySnippet',__FILE__,__LINE__);

[2013-09-15 14:48:02] (ERROR in MySnippet @ /path/to/core/cache/includes/elements/modsnippet/28.include.cache.php : 7) This is my error message...

Настраиваемый лог:

Ты можешь заменить стандартные настройки логирования в MODX на свои. Для этого вы можете передать в параметр $target массив своих настроек.

<?php
$xpdo->log(xPDO::LOG_LEVEL_ERROR,'Error for my custom log file', 
    array('target'=>'FILE', 'options'=> array('filename'=>'custom.log'))
);

По умолчанию путь для лог файла выставлен в core/cache/logs/ для примера вышел наш лог будет размещен в файл custom.lo:
[2013-09-15 15:01:07] (ERROR @ /index.php) Error for my custom log file
При желании вы можете указать путь к файлу логов в параметр $filepath. Таким образом можно вести несколько логов, например для разных контекстов:

<?php
$log_target = array(
    'target'=>'FILE',
    'options' => array(
        'filename'=>'my_custom.log'
    )
); 
$xpdo->log(xPDO::LOG_LEVEL_ERROR,'My Error...',$log_target); 
$xpdo->log(xPDO::LOG_LEVEL_ERROR,'Some other error...',$log_target);
<?php
$xpdo->log(xPDO::LOG_LEVEL_DEBUG,'This is a debugging statement.');

Описание метода:

$xpdo->log($level, $msg, $target= '', $def= '', $file= '', $line= '');
void log (integer $level, string $msg, [string $target = ''], [string $def = ''], [string $file = ''], [string $line = ''])

Параметры:

$level (число) Уровень ошибки, список уровней ошибок ниже.

$msg (строка) Сообщение записываемое в лог.

$target (смешанное содержание) Цель для логирования, можно указать FILE, HTML, или ECHO. Пример можно посмотреть ниже.

$def (строка) Имя определения структуры (такие как класс), что бы определить источник события.

$file (строка) Имя файла, в котором произошло событие журнала. Обычно вы будете использовать константу __FILE__.

$line (строка) Номер строки с ошибкой в документе. Используйте константу __LINE__.

Уровни ошибок:

xPDO константа /td> MODX константа Значение
xPDO::LOG_LEVEL_FATAL MODX_LOG_LEVEL_FATAL 0
xPDO::LOG_LEVEL_ERROR MODX_LOG_LEVEL_ERROR 1
xPDO::LOG_LEVEL_WARN MODX_LOG_LEVEL_WARN 2
xPDO::LOG_LEVEL_INFO MODX_LOG_LEVEL_INFO 3
xPDO::LOG_LEVEL_DEBUG MODX_LOG_LEVEL_DEBUG 4
xPDO::addPackage - подключает обьекты нужного пакета…
xPDO::commit - аналог функции php commit()
xPDO::beginTransaction - аналог функции php beginTransaction()
xPDO::connect - создает подключение к базе данных,…
xPDO::fromJSON - преобразует строку JSON в php…
xPDO::getCollection - получаем коллекцию указанного…
xPDO::getCollectionGraph - получаем коллекцию указанного…
xPDO::getObject - получаем один экземпляр обьекта…
xPDO::newQuery - создает новый xPDOQuery для выбранного…
xPDO::getObjectGraph - получает заданный обьект и все…
xPDO::getOption - получаем опцию обьекта по его…
xPDO::getTableName - получает фактическое имя таблицы…
xPDO::loadClass - подключаем выбранный класс.
xPDO::log - добавляем сообщение в лог.
xPDO::newObject - создаем новый обьект класса.
xPDO::newQuery - создаем новый обьект класса.
xPDO::query - выполняет SQL-запрос, и возвращает…
xPDO::setDebug - устанавливает отладчик для XPDO
xPDO::setLogLevel - устанавливает уровень логирования…
xPDO::setLogTarget - Устанавивает цель для xPDO::_log()…
xPDO::setOption - устанавливаем значение для конфигурации.
xPDO::toJSON - конвертирует PHP массив в JSON…