Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-记录奇怪的行为_Php_Logging - Fatal编程技术网

PHP-记录奇怪的行为

PHP-记录奇怪的行为,php,logging,Php,Logging,我有两个php文件 <?php register_shutdown_function("shutdownHandler"); require_once ('apache-log4php-2.3.0/src/main/php/Logger.php'); Logger::configure($_SERVER['DOCUMENT_ROOT'].'/front-page/lib/logger.xml'); function shutdownHandler() {

我有两个php文件

  <?php


register_shutdown_function("shutdownHandler");
require_once ('apache-log4php-2.3.0/src/main/php/Logger.php');
Logger::configure($_SERVER['DOCUMENT_ROOT'].'/front-page/lib/logger.xml');

function shutdownHandler()
{
    $lasterror = error_get_last();
    switch ($lasterror['type'])
    {
        case E_ERROR:
        case E_CORE_ERROR:
        case E_COMPILE_ERROR:
        case E_USER_ERROR:
        case E_RECOVERABLE_ERROR:
        case E_CORE_WARNING:
        case E_COMPILE_WARNING:
        case E_PARSE:
            $error = "[SHUTDOWN] :" . $lasterror['type'] . " | msg:" . 
                        $lasterror['message'] . " | file:" . $lasterror['file'] . " | ln:" . $lasterror['line'];
            $log = Logger::getLogger('myLogger');
            $log->info($error);
    }
}

?>
我的文件丢失。[因为我拼写错误],因此
require
将抛出致命错误。我正在用
log4ppp
将其记录到一个文件中。但不幸的是,日志记录不起作用

我调试了代码。它转到case语句并执行,但未创建日志文件

在我的第二个php文件中,我只是做了如下修改

 <?php
   $log = Logger::getLogger('myLogger');
   $log->info("ok");
   include('myPage.php')
 ?>

记录器中发生了什么?你说它去那里。检查路径和权限。@ AWONS只考虑我的第二种情况。我添加了虚拟记录器。两个文件位于同一位置。权限可能不是问题。您说过,在第二种情况下,代码进入记录器。这意味着那里发生了一些错误。我们看不到它的代码,所以很难说那里发生了什么。尝试一步一步地进行,看看那里发生了什么。@awons我一步一步地调试。在这两种情况下,控件都到达了正确的位置。[我指的是错误处理程序],但记录器仅在第二种情况下工作。这是我描述错误的完整代码。我还将添加我的log4php属性。
 <?php
  require 'myPageXYZ.php';
 ?>   
 <?php
   $log = Logger::getLogger('myLogger');
   $log->info("ok");
   include('myPage.php')
 ?>
<configuration xmlns="http://logging.apache.org/log4php/">
<appender name="myAppender" class="LoggerAppenderFile">
    <param name="file" value="myLog.log" />
</appender>

<appender name="myConsoleAppender" class="LoggerAppenderConsole" />
<logger name="myLogger">
    <level value="DEBUG" />
    <appender_ref ref="myAppender" />
 </logger>
</configuration>