2012-01-09 21 views
6

Tengo una aplicación Rails que usa MongoDb en la parte posterior. Tengo estos mensajes que dicen MONGODB [WARNING] Please note that logging negatively impacts client-side performance. You should set your logging level no lower than :info in production en mis registros. OK, nunca me preocupé, pero decidí buscarlo ahora mismo.¿cómo configuro el nivel de registro para información para MongoDb?

This page on the mongo site en realidad no se discuten los niveles de registro, pero se discute -v vs para verbosidad. ¿Es eso lo mismo que el nivel de registro? Como en -vvvvv es lo mismo que un nivel de registro de depuración y -v es el mismo que un nivel de registro de errores? Los documentos no están muy claros sobre este tema.

Respuesta

1

Los niveles de registro se refieren a niveles de registro de rieles, mientras que el distintivo -v se refiere a la verbosidad.

Rails establece automáticamente el nivel de registro más alto en producción que en desarrollo, por lo que no debe tener nada de qué preocuparse.

+1

No estoy seguro de eso, actualicé el OP. El mensaje indica específicamente que es de MONGODB y que hay muchos mensajes de Mongo en mi registro como 'MONGODB the_database ['users']. Find ({: deleted_at => nil,: deleted => nil})'. Me pregunto si esto viene de Mongoid. – jcollum

+0

Parece que esto proviene del controlador de Ruby Mongo: http://api.mongodb.org/ruby/current/Mongo/Logging.html# (en la fuente). – jcollum

+0

¿Está bien esto en la producción o desarrollo? –

6

he tenido problemas con esto en mis pruebas, por lo que terminaron haciendo lo siguiente en mi spec_helper.rb:

Mongoid.logger.level = Logger::INFO 

Sin embargo, si usted está dentro de los carriles se debe probablemente (no probado) usar esto para el acceso el registrador en su lugar:

config.mongoid.logger 
+0

Este era exactamente mi problema, tenía mensajes de registro volcando a stdout cuando ejecutaba rspec con mongoid + sinatra. ¡Gracias! – radixhound

+0

Aquí está el enlace a [la documentación para esto] (http://mongoid.org/en/mongoid/docs/installation.html#logging) – toxaq

1

Si está utilizando MongoId 2.2 o superior, se puede establecer en mongoid.yml:

production: 
    hosts: 
    ... 
    database: ... 
    logger: false 

Además, este tiene tiene un impacto en el rendimiento. Cuando desactivé el inicio de sesión de mongo en la producción, vi menos colecciones de basura y las huellas de memoria de la instancia de la aplicación eran aproximadamente 15 megabytes más pequeñas durante las pruebas de carga de 30 minutos con apachebench.

Cuestiones relacionadas