2016-07-24 6 views
0

임 내가 뭔가를 할 수있는 코드가 필요 시도의 catch 문을 수행하고, 오류를 잡을 laravel 로그 파일에 기록하고 루프를 계속 실패 할 경우.try/catch 문에서 오류를 기록하는 방법 laravel?

foreach ($logins as $login) { 
     try { 
      // Do something here 
     } catch (Exception $e) { 
      // Log errors 
      \Log::error($e->getMessage()); 
      continue; 
     } 
    } 

하지만 내가 이름 공간에 :: 로그인 \ 사용 또한 use Log;을 추가하는 시도하지만 난 여전히 오류가 발생했습니다

[Symfony\Component\Debug\Exception\FatalErrorException]       
Namespace declaration statement has to be the very first statement in the script 

를 읽고 오류가 점점 오전 : 내 코드는 . 선언 전에 다른 스크립트 라인이 있기 때문에

namespace projects\name; 

이 오류가 트리거 :

스크립트 중 하나에서

답변

0

이 유사한 네임 스페이스 선언이있다. 불법입니다 : 네임 스페이스 선언은 첫 번째 실행 문이어야합니다.

당신이 다음이 줄 것을 해결되면 :

\Log::error(...) 

는 또한 당신에게 오류가 발생합니다. 선도적 인 \은 글로벌 PHP 네임 스페이스의 클래스에 액세스하고 있음을 의미합니다. Log 클래스가 특정 네임 스페이스에있는 경우 (예 : projects\name) 두 가지 방법 중 하나로 클래스를 사용할 수 있습니다. 정규 이름 사용 :

\projects\name\Log::error(...) 

또는 use 문을 사용하십시오. 내 문제였다

use projects\name\Log; //early in the file. No need for leading \ 
... 
Log::error(...) 
+0

감사합니다. 또한 laravel이 네임 스페이스이므로 '\ Exception $ e'에 \를 추가해야합니다. – kevinabraham

+0

로그는 Laravel의 루트 (전역) 네임 스페이스에있는 외관입니다. – Devon

관련 문제