2016-08-19 68 views
1

我想定製我的記錄器在Laravel 5.2Laravel 5.2 - 獲取日誌事件的當前行

例如,我有一個控制器名稱HomeController.php

class HomeController extends BaseController 
{ 
    public function index() 
    { 
     Log::error("Ahihi"); 
    } 
} 

和日誌文件:

[2016-08-19 12:24:02] local.ERROR: Ahihi [] []

,但我要記錄完整的日誌事件(如在文件中的行)的資料:

[2016-08-19 12:24:02] local.ERROR: HomeController.php - line 5 - Ahihi [] []

我需要一些建議,謝謝!

+1

選中此http://stackoverflow.com/questions/1252529/get-code-line-and- file-thats-performing-the-current-function-in-php – Vikas

回答

0

如果你想擁有這樣的消息在信息登錄,您可以使用PHP的預定義常量之一 - 你可以在這裏找到一個列表http://php.net/manual/en/language.constants.predefined.php

你可能最感興趣的那些在是__FILE____LINE__包含當前文件的名稱和當前行號。

爲了達到你所需要的,你可以更換

Log::error("Ahihi"); 

Log::error(sprintf("%s - line %d - Ahihi", __FILE__, __LINE__)); 
+0

我也想過這個,但是我想爲所有的Log :: error()實現,這樣可以解決這個問題,但是如果我改變模板。 –

+0

然後,您需要提供您自己的LogWriter實現,該實現會將此信息附加到所有日誌消息。我會用這個例子在幾個小時內更新答案。 –