Я не делал этого сам, вы должны попробовать, я просто ссылаюсь на ссылки. Это может вам помочь.
Создание пользовательских Лесорубы
Пользовательские Лесорубы
Пользовательские регистраторы могут быть использованы для записи журнала записи в централизованный инструмент управления приложениями, или писать сообщения в качестве инструмента, такого как FirePHP
разработчика.
Для этого вы можете создать новый класс экземпляра, который реализует интерфейс LoggerTemplate
. Ниже приведен пример создания регистратора FirePHP
.
Сначала вам необходимо создать свой регистрационный класс в ./custom/include/SugarLogger/
. В этом примере мы создадим. /custom/include/SugarLogger/FirePHPLogger.php
.
<
?php
// change the path below to the path to your FirePHP install
require_once('/path/to/fb.php');
class FirePHPLogger implements LoggerTemplate
{
/** Constructor */
public function __construct()
{
if (
isset($GLOBALS['sugar_config']['logger']['default'])
&& $GLOBALS['sugar_config']['logger']['default'] == 'FirePHP'
)
{
LoggerManager::setLogger('default','FirePHPLogger');
}
}
/** see LoggerTemplate::log() */
public function log($level, $message)
{
// change to a string if there is just one entry
if (is_array($message) && count($message) == 1)
{
$message = array_shift($message);
}
switch ($level)
{
case 'debug':
FB::log($message);
break;
case 'info':
FB::info($message);
break;
case 'deprecated':
case 'warn':
FB::warn($message);
break;
case 'error':
case 'fatal':
case 'security':
FB::error($message);
break;
}
}
}
Единственный метод, который должен быть реализован по умолчанию является log()
метода, который записывает сообщение в журнале на внутренний интерфейс. Вы можете указать, какие уровни журналов, которые этот бэкэнд может использовать в constuctor, вызывая метод LoggerManager::setLogger()
и указав уровень, который будет использоваться для этого регистратора в первом параметре; передача 'default' делает его регистратором для всех уровней ведения журнала.
Затем вы укажете свой регистратор по умолчанию как 'FirePHP
' в своем config_override.php
файле.
$sugar_config['logger']['default'] = 'FirePHP';
Refer Link
More information about Logs
Интересная идея. Вы думаете о регистрации всех одновременно? Если это так, имейте в виду количество ошибок, которые могут быть сгенерированы на уровне информации или отладки, что может быть большим количеством записей на диске, которые могут потенциально повлиять на производительность приложений. – Reisclef