2017-01-06 23 views
0

我需要在我的Laravel應用程序中獲取日誌名稱的屬性。從對象獲取值或轉換爲數組獲取monolog日誌的URL 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"]; 

回答

2

可以使用Monolog\Handler\StreamHandler類的getUrl()函數,因爲RotatingFileHandler的最佳方式擴展的類。嘗試以下

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

注 - 這隻適用於APP_LOGdaily

+0

我以爲我已經試過這條道路,因爲它似乎是最logical.A很多感謝的 – abkrim