На самом деле я работаю над пакетом Sugar CRM, который предназначен для Sugar On Demand.
В этом пакете Sugar CRM On Demand не разрешает обработку файлов функциями PHP, но я хочу создать отдельные файлы журналов для своего пакета.
Есть ли способ в Sugar CRM создавать наши отдельные файлы пользовательских журналов через внутренние библиотеки Sugar CRM, не нарушая журналы Sugar CRM по умолчанию.
Вы можете использовать замечательное предложение от Джейсона, однако, если вы хотите остаться в своей идее иметь свой собственный регистратор, вы можете попробовать это: https://gist.github.com/cmourizard/3e3762bbf709ef4b05e0
Вы, вероятно, могли бы, но другое решение состоит в том, чтобы иметь возможность установить ваш пакет на другом уровне логгера. Мы делаем это с SugarChimp, и это очень полезно. Вы можете настроить остальную часть приложения на «отладку», превратив свой пакет в «роковой», так что только ваши журналы будут записываться в sugarcrm.log. Вы просто абстрагируете встроенный регистратор SugarCRM со своим собственным.
Так что вместо:
$GLOBALS['log']->fatal('MyPackage::my_function check point');
Ты можешь сделать:
MyPackage::log('fatal','MyPackage::my_function check point');
Затем в своей функции регистрации выполните свою логику, чтобы проверить, какой уровень ведения журнала вашего пакета установлен, и вызвать соответствующую функцию SugarLogger. Также предоставьте способ изменить / установить уровень логгера, например, через пользовательский интерфейс.