2009-12-18 1 views
11

Я хотел бы настроить дополнительный файл журнала в symfony, чтобы некоторые сообщения (обработка платежей в моем случае) переходили в другой файл из остальной части 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