Я использую log4php, но это также может применить к log4perl, log4j или любым другим модулям log4*. < /p>
У меня есть две разные функции: funca () и funcb () . В настоящее время все входит в один файл, и я бы хотел разделить их для каждой функции. funca () и funcb () Поделитесь некоторыми классами и методами. У каждого класса есть код, который получает регистратор для класса. Например: < /p>
Код: Выделить всё
class DB {
private static $logger;
private static function getLogger() {
if (is_null(self::$logger)) {
self::$logger = Logger::getLogger(__CLASS__);
}
return self::$logger;
}
public function getData() {
// gets some data from the database
self::getLogger->debug("Got some data");
}
}
< /code>
funcA()
Код: Выделить всё
function funcA() {
// Do some funcA-ish stuff
$db = new DB();
$data = $db->getData();
// Do some more funcA-ish stuff
}
function funcB() {
// Do some funcB-ish stuff
$db = new DB();
$data = $db->getData();
// Do some more funcB-ish stuff
}
< /code>
My log4phpConf.xml
< H2> Что я хочу
Я бы хотел иметь два разных файла журнала, один для funca () и один для funcb () . Но я все еще хочу иметь возможность управлять уровнем журнала для каждого класса. Затем мне нужно было бы решить, какой приложение назначить каждому регистратору класса. Некоторые регистраторы являются эксклюзивными либо для Funca , либо Funcb обработки, поэтому они просты. Но для тех, которые обмениваются, мне придется создать два регистратора для каждого класса и каким -то образом знать, какой регистратор использовать в каждом общем методе. Это был бы кошмар для обслуживания. Но я не уверен, что это правильный подход, и мне интересно, потеряю ли я свою способность управлять уровнем журнала для каждого класса. < /P>
Я подхожу к этому неправильно?
Подробнее здесь: https://stackoverflow.com/questions/794 ... re-classes