2011-07-05 8 views
6

Estoy intentando que el registrador funcione en Doctrine ODM.¿Cómo funciona el registrador en Doctrine MongoDB ODM?

// .. some initialization code here ... 

$mongoConfig->setLoggerCallable(function(array $log){ 
       print_r($log); 
       die("Mongo Logging Called..."); 
      }); 

$dm = \Doctrine\ODM\MongoDB\DocumentManager::create(new \Doctrine\MongoDB\Connection(), $mongoConfig); 

Aquí está la referencia: http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/logging.html

estoy consultar documentos utilizando el generador de consultas del gestor de documentos .. estoy siendo para encontrar documentos y persistir con éxito. Pero la llamada del registrador NUNCA se llama. ¿Qué podría estar haciendo mal?

Respuesta

6

Encontré la solución a través del canal IRC#doctrine. La conexión debe pasar la configuración por separado, ya que DocumentManager no aplica la configuración que se le transfiere a la conexión que crea. Esto se solucionará en una versión futura. Así es como lo hace en su lugar -

// setup the mongodb connection 
$connection = new \Doctrine\MongoDB\Connection(null, array(), $mongoConfig); 

// create the document manager for the connection above 
$dm = \Doctrine\ODM\MongoDB\DocumentManager::create($connection, $mongoConfig); 
+0

dad. Hoy es 2014, pero este problema todavía existe :( – evilive

Cuestiones relacionadas