Call to undefined method LoggerManager::getloggerrepository()

sugarcrmdevelopers —  March 29, 2012

While upgrading an older SugarCRM System from 5.2.0 to 5.5.1, I encountered errors regarding a missing method getloggerrepository(). Searching the SugarCRM forums I quickly found a resolution by modifying some core logger-related files. The fix was simple enough, commenting out a few lines. Follow the instructions provided by SugarCRM Forum Member westphal here in his thread resolved: undefined LoggerManager::getloggerrepository().

I resolved the issue by commenting the following 5 lines in include/logging.php:

if (! isset($simple_log) || $simple_log == false) {
$config = new LoggerPropertyConfigurator();
$config->configure('log4php.properties');
}

From what I can tell, the issue is partly SugarCRM bug in 5.2.0 and/or 5.5.1, and also caused by the outdated version of the Zucker Reports module installed on the system. westphal noted his system had ZuckerReports as well as other modules that used similar methods for interacting with the SugarCRM Logging tools.

It’s worth noting that attempting to simply uninstall Zucker won’t solve the problem, because Module Loader will fail due to the same Logger references that trip up Repair & Rebuild.

After applying westphal’s fix, removing Zucker, and a Repair & Rebuild, the system was stable at 5.5.1 and I was able to continue my upgrade.