Итак, я недавно обнаружил, что пакет log4 * доступен для PHP, и, увидев его, охотно скачал последнюю версию с веб-сайта log4php и следовал инструкциям по установке.В инструкциях указано, что нужно загрузить пакет tar, распаковать и поместить следующий каталог в любое место по своему выбору: log4php / src / main / php
Поэтому я скопировал содержимое log4php/src/main/php
в свойlib dir в lib / log4php.
В моем скрипте, как требовалось, я требовал класс 'Logger.php' и указал файл свойств для управления моими приложениями.Файл свойств, log4php.properties, находится в моей файловой системе по адресу "/home1/ioforgec/www/devlab/pnotes/config/log4php.properties".
Вот содержимое файла журнала:
#
# Example Logger
#
log4php.appender.EA1 = LoggerAppenderConsole
log4php.appender.EA1.target = STDOUT
log4php.appender.EA1.layout = LoggerLayoutPattern
log4php.appender.EA1.ConversionPattern = "%m"
log4php.appender.EA1.threshold = FATAL
log4php.exampleLogger = FATAL, EA1
Итак, вот копия моего скрипта, который реализует (более или менее «оборачивает» функциональность log4php):
<?php
require_once('/home1/ioforgec/www/devlab/pnotes/lib/log4php/Logger.php');
class LogUtil
{
public $logger;
public $properties_file = "/home1/ioforgec/www/devlab/pnotes/config/log4php.properties";
public static function logExample($msg)
{
Logger::configure($properties_file);
$logger = Logger::getLogger("example");
$logger->debug("Shouldnt see this print because of config max level FATAL");
$logger->fatal($msg);
}
}
?>
Чтобы проверить, что это работает правильно, следующий скрипт вызывает LogUtil.php, показанный выше:
#!/usr/bin/php
<?php
require_once("lib/utils/LogUtil.php");
LogUtil::logExample("example message");
?>
Итак, несмотря на настройку примера регистратора для форматирования сообщений как простого сообщения, несмотря на настройкууровень логгера до максимума FATAL, причем не только в объявлении логгера, но и в команде порога, вывод на консоль выглядит для меня как корневой логгер по умолчанию:
Mon Oct 18 20:30:05 2010,705 [827] DEBUG example - Shouldnt see this print because of config max level FATAL
Mon Oct 18 20:30:05 2010,711 [827] FATAL example - example message
Я вижуоператор print без простого форматирования, как указано, и я вижу два оператора print, отладочную печать (которую никогда не нужно было печатать из-за настройки FATAL в конфигурации регистратора - FATAL НАМНОГО выше, чем DEBUG)
Чтона земле я делаю не так?Я попробовал каждую комбинацию настроек, о которой я только могу подумать.У кого-нибудь есть предложения?
Правка - Обновление - это все еще проблема.Нет прогресса.
Edit2 - Действительно?Неужели никто на этом форуме не пытался использовать этот очень популярный пакет ведения журналов и его воплощение в качестве модуля PHP?
Я пытался всеми возможными способами получить ответ на мой вопрос, включая список рассылки пользователя log4php.