Prestashop 预转储日志:获取对象和数组的转储

Prestashop 预转储日志:获取对象和数组的转储,prestashop,symfony-2.8,prestashop-1.7,Prestashop,Symfony 2.8,Prestashop 1.7,我正在研究Prestashop 1.7是如何工作的,我对Symfony有一些经验 在Symfony开发模式下,[Symfony项目url]/\u profiler用于检查请求中变量的转储($someVariable) 当Prestashop 1.7处于管理模式时可以执行[Prestashop项目url]/admin[一些随机字符链]/\u profiler来显示Symfony\u profiler并分析与管理模式相关的请求中发生的情况 但是如果在管理模式之外(在虚拟商店演示模式下,[Presta

我正在研究Prestashop 1.7是如何工作的,我对Symfony有一些经验

在Symfony开发模式下,
[Symfony项目url]/\u profiler
用于检查请求中变量的
转储($someVariable)

当Prestashop 1.7处于管理模式时可以执行
[Prestashop项目url]/admin[一些随机字符链]/\u profiler
来显示Symfony
\u profiler
并分析与管理模式相关的请求中发生的情况

但是如果在管理模式之外(在虚拟商店演示模式下,
[Prestashop project url]/\u profiler
[Prestashop project url]/[language value]/\u profiler
不显示符号
\u profiler

我已经通过激活
define(“PS\u DEBUG\u PROFILING”,true)尝试了Prestashop自己的分析器
[prestashop project]/config/defines.inc.php
中。它在“虚拟商店演示模式”的底部显示Prestashop profiler,但此模式不包括
转储($someVariable)
,可用于开发和了解Prestashop行为,在
钩住动作[动作名称]

我已经通过生成的HTML获得了Symfony
dump($someVariable)
hookDisplay[display name]
,但不是在
hookAction[action name]
中,这正是我所寻找的

更新 查看Prestashop 1.7代码,我几乎感觉到Symfony只用于管理端,因为我可以看到:
$kernel=new-AppKernel(\u-PS\u-MODE\u-DEV?'DEV':'prod',\u-PS\u-MODE\u-DEV)[Prestashop project url]/admin[一些随机字符链]/index.php
中,我没有看到它,但在
[Prestashop project url]/index.php

中,我找到的最佳解决方案是创建一个类似于

我已经创建了文件:
[Prestashop project]/modules/[my module]/classes/CustomLogger.php

<?php
class CustomLogger {
    const DEFAULT_LOG_FILE ="prestashop_system.log";
    public static function log($message, $level = 'debug', $fileName = null){
        $fileDir = _PS_ROOT_DIR_ . '/log/';
        $fileName=self::DEFAULT_LOG_FILE;
        if(is_array($message) || is_object($message)){$message = print_r($message, true);}
        $formatted_message=$level." -- ".date('Y/m/d - H:i:s').": ".$message."\r\n";
        return file_put_contents($fileDir . $fileName, $formatted_message, FILE_APPEND);
    }
}
?>

在“[Prestashop project]/modules/[my module]/[my module].php”的顶部声明:
include_once dirname(__文件)'/classes/CustomLogger.php'

并使用
CustomLogger::log($[some variable])在您的代码中