【问题标题】:Monolog, how to log PHP array into console?Monolog,如何将 PHP 数组记录到控制台?
【发布时间】:2014-08-18 11:12:06
【问题描述】:

我正在使用浏览器处理程序将消息记录到 JS 控制台

require_once 'vendor/autoload.php';

use Monolog\Logger;
use Monolog\Handler\BrowserConsoleHandler;

$log = new Logger('name');
$log->pushHandler(new BrowserConsoleHandler);

$data = array(1,2,3,4);

// add records to the log
$log->addWarning('Foo');

我想知道,是否可以将 $data 之类的数组记录到重新组合数组内容的控制台中?

【问题讨论】:

    标签: php monolog


    【解决方案1】:

    试试这个:

    $log->addWarning('Foo: ' . var_export($data, true));
    

    【讨论】:

    • 我觉得我应该补充一点,从这个答案开始 5 年后,现在正确的方法是使用 $log->addWarning('Foo', $data);,按照下面 Colin Smillie 的回答。 stackoverflow.com/a/39025294/2286736
    【解决方案2】:

    另外,你可以试试这个:

    $log->addWarning('Foo: ' . print_r($data, true));  
    

    或者

    $log->addWarning('Foo:' , $data);   
    

    【讨论】:

    • $log->addWarning('Foo: ' . print_r($data, true));不起作用,输出为“1”
    • 表示你的$data是1。
    • 答案的第二部分是正确的,更好的方法。
    【解决方案3】:

    数组的最佳方法(来自 Felix 答案的第二部分)是:

    $log->addWarning('Foo:' , $data); 
    

    AddWarning 将接受一个数组作为第二个参数并在浏览器中正确格式化它。

    使用 var_export 将转换为字符串,并且无法在浏览器控制台中正确格式化数组。

    【讨论】:

      猜你喜欢
      • 2018-10-01
      • 2016-06-22
      • 1970-01-01
      • 2015-04-13
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      • 2018-06-06
      • 1970-01-01
      相关资源
      最近更新 更多