2017-04-18 5 views
0

関数を持つクラスの中でlog4phpを使用する正しい形式は何ですか?function内でlog4phpを使用するにはどうすればいいですか?

<?php 
include_once 'log4php-2.3.0/src/main/php/Logger.php'; 

class template 
{ 
    public static temp1; 
    public static temp2; 
    Logger::configure($path . '\commons\log4php-2.3.0\config.xml'); 
    $log = Logger::getLogger('myLogger'); 

    public static function example1() 
    { 

    } 

    public static function example2() 
    { 

    } 

}

どのように私は両方の機能内部例えば$log->fatal($error);ラインを呼び出すことができますか?それぞれの$ logを再宣言しなければなりませんか?

答えて

0

簡単な例私はalredyこの方法を使用していReference

// Include and configure log4php 
include('log4php/Logger.php'); 
Logger::configure('config.xml'); 

/** 
* This is a classic usage pattern: one logger object per class. 
*/ 
class Foo 
{ 
    /** Holds the Logger. */ 
    private $log; 

    /** Logger is instantiated in the constructor. */ 
    public function __construct() 
    { 
     // The __CLASS__ constant holds the class name, in our case "Foo". 
     // Therefore this creates a logger named "Foo" (which we configured in the config file) 
     $this->log = Logger::getLogger(__CLASS__); 
    } 

    /** Logger can be used from any member method. */ 
    public function go() 
    { 
     $this->log->info("We have liftoff."); 
    } 
} 

$foo = new Foo(); 
$foo->go(); 
+0

から、構造を過ぎて致命的なエラーを取得していないように、問題は、私はこのエラーを取得していますです、そうです:$これを使用しないときは、オブジェクトのコンテキストで。 新しいFooを使わずにこのクラスを使用しています。私は関数を呼び出しています –

関連する問題