代码如下:
test.php:
<?php
require_once('log4php/Logger.php');
Logger::configure('log4php.properties');
$logger = @Logger::getLogger('test');
$logger->debug("gg");
//$logger->debug("hh");
?>
log4php.properties:
log4php.rootLogger=DEBUG, A1
log4php.appender.A1=LoggerAppenderRollingFile
log4php.appender.A1.file=./debug.log
log4php.appender.A1.layout=LoggerLayoutTTCC
log4php.appender.default.layout.ConversionPattern = "%d{ISO8601} [%p] %c: %m (at %F line %L)%n"
log4php.appender.A1.MaxFileSize=2048MB
log4php.appender.A1.MaxBackupIndex=0
有如下数据:
场景一:
修改test.php为
<?php
?>
性能可以压倒5000左右
场景二:
只require,不进行日志输出
<?php
require_once('log4php/Logger.php');
?>
性能可以跑到2300左右
场景三:
输出日志
<?php
require_once('log4php/Logger.php');
Logger::configure('log4php.properties');
$logger = @Logger::getLogger('test');
$logger->debug("gg");
?>
性能只能达到143
环境为apache+php 全部打开php的apc
紧急,请高手帮忙!!
多谢

解决方案 »

  1.   

    php和java不一样,用这个自然要牺牲性能。
    调试的话xdebug还是不错的。比你这require进来强多了..
      

  2.   

    Logger::configure('log4php.properties');
    $logger = @Logger::getLogger('test');
    $logger->debug("gg");第一句不说了,第二句貌似是个登录查询的方法当然会消耗资源了,还有前面加了个@,这个东西也影响,debug也要去掉(既然没错误了)
      

  3.   

    我想使用log4php记录访问日志
    性能肯定是我需要注意的地方
    debug需要去掉我使用什么记录日志啊
    呵呵
      

  4.   

    进行日志输出的话,可以用error_log,不需要require,不需要getLogger,性能应该会快一些。
      

  5.   

    apache_note 的话对输出有4K的限制
    无法适用于超过4K数据的输出(多进程并发压力较大的时候会出现错乱)