2009-12-18 15 views
11

Me gustaría configurar un archivo de registro adicional en Symfony, de modo que algunos mensajes (procesamiento de pagos en mi caso) irían a un archivo diferente del resto de Symfony. ¿Es posible?Múltiples archivos de registro en Symfony

Aquí está mi configuración de registro actual de factories.yml:

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

Respuesta

0

Comprobar el plugin: sfAdvancedLoggerPlugin. Puedes hacer muchas cosas con ella.

sfAdvancedLogger permitir la funcionalidad de registro avanzado como los errores de PHP registro, alertas de correo electrónico y el registro condicional

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

solución de daviweb va a registrar mensajes a ambos archivos de registro,

nuevo registrador por separado puede ser creado usando código:

$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

Lo importante aquí es crear una nueva instancia de Envent dispatcher. Si hace referencia al despachador de eventos predeterminado del controlador, todos sus registros se convertirán en su archivo de registro personalizado. – Dziamid

Cuestiones relacionadas