2009-12-18 4 views
11

symfony에서 추가 로그 파일을 설정하여 일부 메시지 (내 경우에는 결제 처리)가 나머지 심포니와 다른 파일로 이동하도록하고 싶습니다. 가능한가?symfony의 여러 로그 파일

여기 factories.yml에서 내 현재 로그 구성입니다 :

all: 
    logger: 
    param: 
     level: debug 
     loggers: 
     sf_file_debug: 
      param: 
      level: notice 
      file: /var/log/symfony/%SF_ENVIRONMENT%/%SF_APP%.log 

답변

0

확인 플러그인 : sfAdvancedLoggerPlugin. 당신은 그것으로 로깅 물건을 많이 할 수 있습니다.

sfAdvancedLogger 수 있도록 PHP 오류 같은 고급 로깅 ​​기능 로깅, 이메일 경고 및 모두 로그 파일에 메시지를 기록합니다

1
all: 
    logger: 
    class: sfAggregateLogger 
    param: 
     level: debug 
     loggers: 
     sf_file_debug: 
      class: sfFileLogger 
      param: 
      level: debug 
      file: %SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%.log 
     sf_file_debug_additional: 
      class: sfFileLogger 
      param: 
      level: debug 
      file: %SF_LOG_DIR%/%SF_APP%_%SF_ENVIRONMENT%_additional.log 
11

daviweb의 솔루션,

새로운 별도의 로거가 될 수있는 조건 로깅 코드를 사용하여 생성 :

$logPath = sfConfig::get('sf_log_dir').'/your-custom.log'; 
$custom_logger = new sfFileLogger(new sfEventDispatcher(), array('file' => $logPath)); 

$custom_logger->info("My log message!"); 
+1

여기서 중요한 것은 Envent 디스패처의 새로운 인스턴스를 만드는 것입니다. 컨트롤러의 기본 이벤트 디스패처를 참조하면 모든 로그가 사용자 정의 로그 파일로 이동합니다. – Dziamid