2017-02-08 6 views
0

エラーログが記録されているログファイルを、そのレベルによって分離することは可能ですか?私はlevel = fatalを持っている。例えばSugarCRMエラーログ

は、私はすべて事前にsugarcrm_info.log

感謝するすべての情報のログを置く、sugarcrm_fatal.loglevel = infoにすべての致命的なログを入れます!

+0

面白いアイデア。あなたは同時にロギングを考えていますか?その場合、情報やデバッグレベルで生成されるエラーの量に注意してください。これは、アプリケーションのパフォーマンスに影響を与える可能性のある大量のディスク書き込みである可能性があります。 – Reisclef

答えて

0

私は自分でそれをやっていませんでした。私はリンクを参照するだけです。それはあなたを助けるかもしれません。

の作成カスタムロガー

カスタムロガー

カスタムロガーは、集中アプリケーション管理ツールにログエントリを書き込むために、または開発者ツールなど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()方法です。このバックエンドがコンストラクタで使用できるログレベルを指定するには、LoggerManager::setLogger()メソッドを呼び出して、このロガーに最初のパラメータで使用するレベルを指定します。 'default'を渡すと、すべてのロギングレベルのロガーになります。

次に、config_override.phpファイルにデフォルトのロガーを 'FirePHP'と指定します。

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

Refer Link

More information about Logs

+0

ありがとう、私はこれを試してみます。 –

+0

これを試してみましたが、これはFirePHPを使用してデバッグしている場合にのみ発生します –

+0

私はそれが可能だと思います。 –