2017-02-08 1 views
0

Est-il possible de séparer le fichier journal où les journaux d'erreurs sont consignés en fonction de leur niveau.Enregistrement des erreurs SugarCRM

Par exemple, j'ai level = fatal, je vais mettre tous les journaux mortels à sugarcrm_fatal.log, level = info, je vais mettre tous les journaux d'information à sugarcrm_info.log

Merci à tous à l'avance!

+0

idée intéressante. Envisagez-vous de vous connecter tous simultanément? Si c'est le cas, soyez conscient de la quantité d'erreurs qui peuvent être générées au niveau de l'information ou du débogage, cela peut être un grand nombre d'écritures de disque qui pourraient potentiellement affecter les performances des applications. – Reisclef

Répondre

0

Je ne l'ai pas fait moi-même vous devriez l'essayer je viens de vous référer les liens.Il peut vous aider.

Création personnalisés Bûcherons

sur mesure Bûcherons

enregistreurs personnalisés peuvent être utilisés pour écrire les entrées de journal à un outil de gestion centralisée des applications, ou d'écrire des messages à un outil de développement tel que FirePHP. Pour ce faire, vous pouvez créer une nouvelle classe d'instance qui implémente l'interface LoggerTemplate. Le code ci-dessous est un exemple de création d'un enregistreur FirePHP.

Vous devez d'abord créer votre classe de logger dans ./custom/include/SugarLogger/. Pour cet exemple, nous allons créer. /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; 
     } 
    } 
} 

La seule méthode qui doit être mis en œuvre par défaut est la méthode log(), qui écrit le message du journal à l'arrière-plan. Vous pouvez spécifier les niveaux de journalisation que ce backend peut utiliser dans le constucteur en appelant la méthode LoggerManager::setLogger() et en spécifiant le niveau à utiliser pour cet enregistreur dans le premier paramètre; Passer 'default' en fait l'enregistreur pour tous les niveaux de journalisation.

Vous devez ensuite indiquer votre enregistreur par défaut en tant que 'FirePHP' dans votre fichier config_override.php.

$sugar_config['logger']['default'] = 'FirePHP'; 

Refer Link

More information about Logs

+0

Merci, je vais essayer celui-ci. –

+0

Essayé cela mais cela ne déclenche que si vous déboguez en utilisant FirePHP –

+0

Je pense que ce n'est que possible. –