关于log4php中cannot load log4php.properties 的问题

来源:互联网 发布:白家乐分析软件 无锡 编辑:程序博客网 时间:2024/06/04 20:00

我在本地调试环境中引入了log4gphp,在本地可正常使用它来记录信息,但是一旦上传到服务器却怎么都调试不了,一直在提示:

LoggerPropertyConfigurator::doConfigure() cannot load log4php.properties configuration.如下:


找到提示这个错误的文件:log4php目录下的LoggerPropertyConfigurator.php,第319行($url的值就是:log4php.properties):

 function doConfigure($url, &$repository)
    {
        $properties = @parse_ini_file($url);
        if ($properties === false) {
            LoggerLog::warn("LoggerPropertyConfigurator::doConfigure() cannot load '$url' configuration.");
            return false;
        }
        return $this->doConfigureProperties($properties, $repository);
    }

从这里可以看出应该是parse_ini_file函数没有正常执行,一般来说我们的log4php.properties文件内容基本上就是这样:每个赋值都是没有引号括起来的,


  1. log4php.rootLogger=DEBUG, A1  
  2. log4php.appender.A1=LoggerAppenderRollingFile  
  3. log4php.appender.A1.file=webdisk.log  
  4. log4php.appender.A1.layout=LoggerLayoutTTCC  
  5. log4php.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd   HH:mm:ss}   [%t]   %C{1}:%M   %p   %m%n  
  6. log4php.appender.A1.MaxFileSize=1024  
  7. log4php.appender.A1.MaxBackupIndex=3

 

网上查了下大概是这样:

问题来由:
我本地的开发环境中PHP的版本为5.3.13,而服务器的产品环境中PHP的版本为5.2.12.
在php.ini文件中,
所有的的变量赋值采用双引号引用
处理方式:
将log4php.properties文件中对变量赋值的单引号引用改为双引号引用,改为:

  1. log4php.rootLogger="DEBUG, A1"
  2. log4php.appender.A1="LoggerAppenderRollingFile"
  3. log4php.appender.A1.file="webdisk.log"
  4. log4php.appender.A1.layout="LoggerLayoutTTCC"
  5. log4php.appender.A1.layout.ConversionPattern="%d{yyyy-MM-dd   HH:mm:ss}   [%t]   %C{1}:%M   %p   %m%n"
  6. log4php.appender.A1.MaxFileSize="1024"
  7. log4php.appender.A1.MaxBackupIndex="3"

至此:问题解决!


0 0