繁体   English   中英

从对象获取值或转换为数组以获取Laravel上独白日志的URL

[英]Get value from object or convert to array for get url of monolog log on Laravel

我需要在Laravel应用上获取日志名称的属性。

我得到和与方法的对象数组:

$arr =  Log::getMonolog()->getHandlers();
dd($arr);

结果

array:1 [
  0 => Monolog\Handler\RotatingFileHandler {#43
    #filename: "/Users/abkrim/desarrollos/cprsync_v3/storage/logs/cprsync.log"
    ..
    #url: "/Users/abkrim/desarrollos/cprsync_v3/storage/logs/cprsync-2017-01-06.log"
    ...
    #processors: []
  }
] 

也试试

$arr =  (array) Log::getMonolog()->getHandlers()[0];
dd($arr)

但是我得到并用错误的键值数组。

array:16 [
  "\x00*\x00filename" => "/Users/abkrim/desarrollos/cprsync_v3/storage/logs/cprsync.log"
  "\x00*\x00maxFiles" => 5
  "\x00*\x00mustRotate" => null
  "\x00*\x00nextRotation" => DateTime {#41
    +"date": "2017-01-07 00:00:00.000000"
    +"timezone_type": 3
    +"timezone": "Europe/Madrid"
  }
  "\x00*\x00filenameFormat" => "{filename}-{date}"
  "\x00*\x00dateFormat" => "Y-m-d"
  "\x00*\x00stream" => null
  "\x00*\x00url" => "/Users/abkrim/desarrollos/cprsync_v3/storage/logs/cprsync-2017-01-06.log"
  "\x00Monolog\Handler\StreamHandler\x00errorMessage" => null
  "\x00*\x00filePermission" => null

我需要访问值url ,并且尝试进行数组转换,get_object_vars ...,但可以进行任何工作。

显然,我可以使用下面的代码进行访问,但是我认为,这种方式是不正确的或最佳方法

$arr["\x00*\x00url"];

由于RotatingFileHandler扩展了该类,因此可以使用Monolog\\Handler\\StreamHandler类的getUrl()函数。 尝试跟随

Log::getMonolog()->getHandlers()[0]->getUrl()

注意-这仅适用于APP_LOG daily价值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM