1

log_dirMage::app() $options を設定して、Magento のログ ディレクトリをカスタマイズしようとしていますが、まだ .log に記録されていvar/log/file.logます。

注: この情報は、一般的に SO や Web で簡単に見つけることができなかったので、SO にする必要があると感じました。

4

1 に答える 1

2

したがって、(少なくとも 1.6.2.0 の時点で) Magento は実際にはMage::getBaseDir('log')log() メソッド内で使用していないことがわかります-弱いソースですよね?

渡したファイル名を使用Mage::getBaseDir('var')して追加logし、次にファイル名を追加します。

それ以上にディレクトリをカスタマイズしたい場合は、少し手を汚さなければなりません。たとえば、この例では、ログ ディレクトリを次のようにしたいと考えています。

var/username/log/file.log

では、どうやって潰すかです。これを config.xml にドロップして、新しいロギング クラスについて Magento に伝えます。

    <log>
        <core>
            <writer_model>Name_Module_Model_Zend_Log_Writer_Stream</writer_model>
        </core>
    </log>

次に、モデルを作成します。

class Name_Module_Model_Zend_Log_Writer_Stream extends Zend_Log_Writer_Stream

次に、必要なことを実行します。私の場合は、次のようになりました。

public function __construct($streamOrUrl, $mode = NULL)
{        
    $newLogPath = $this->_workMyMagicOnLogFilePath($streamOrUrl, $mode);

    return parent::__construct($newLogPath, $mode);
}
于 2012-07-18T23:16:27.397 に答える