2017-03-14 5 views
0
  1. 기존 Yii 로깅 API를 사용하여 Db에 로그인하고 있습니다.DBTarget에서 프론트 엔드 및 백엔드 로그를 구별합니다. Yii2

  2. 하지만 DB 내의 프론트 엔드 로그와 백엔드 로그를 구분하고 싶습니다.

  3. 모두 나타나는 공통점은 모두 프런트 엔드 로그를 추적하는 데 어려움을 겪습니다.

다음은 GREEN이 백엔드 로그 용이고 RED가 프론트 엔드 로그 용인 DB 로그의 이미지입니다.

enter image description here

답변

0

@Bizley!

모두 frontend/config/main 모두 아래에 구성되어 있습니다. 이것은 프론트 엔드에 대한 내 전체 로그 구성이 다음과 같이 표시되는 방식입니다 (백엔드에서도 마찬가지로 수행 할 수 있습니다).

'log' => [ 
      'traceLevel' => YII_DEBUG ? 3 : 0, 
      'targets' => [ 
       [ 
        'class' => 'yii\log\DbTarget', 
        'levels' => ['error'], 
        'prefix' => function ($message) { 
         return "[Frontend]"; 
        }, 
       ], 
       [ 
        'class' => 'yii\log\FileTarget', 
        'levels' => ['error','info'], 
       ], 
      ], 
     ], 

다음은 로그 UI에 대한보기입니다. Prefix의 도움으로 이제는 채널을 쉽게 구별 할 수 있습니다.

enter image description here

+0

글쎄, 도와 줘서 기뻐. 당신이 내 대답을 받아들이지 않았고 어쩌면 최소한 upvote를 받아 들였을까요? – Bizley

+1

실례를 제시했기 때문에 내 대답 만받습니다. 나는 당신의 도움 없이는 완료 될 수 없었기 때문에 당신에 대한 크레딧을 먼저 언급 한 다음에 대답을 언급했습니다. 나는 자연을 돕는 것에 대해 정말로 존경합니다. 나는 너의 대답을 너무 upvoted있다. 감사합니다 Bizley! –

1

이에 대한 prefix 속성을 사용할 수 있습니다. function ($message) 서명이있는 모든 내 보낸 메시지 앞에 접두사가 붙을 문자열을 반환하는 호출 가능 개체입니다.

기본적으로 getMessagePrefix()이 사용되며 메시지 앞에 사용자 IP, 사용자 ID 및 세션 ID가 붙습니다.

frontendbackend을 추가하는 데 사용할 수 있습니다.

+0

Ok! 내가 그것을 확인하고 알려주지 –

+0

어디서 구성하는 방법? –

+1

이것은 대상 클래스 속성이므로 로그를 구성 할 때 사용됩니다. – Bizley