2012-01-09 11 views
6

Ho un'app Rails che usa MongoDb sul retro. Ho questi messaggi che dicono MONGODB [WARNING] Please note that logging negatively impacts client-side performance. You should set your logging level no lower than :info in production nei miei registri. OK, non mi sono mai preoccupato ma ho deciso di cercarlo subito.come posso impostare il livello di registrazione su info per MongoDb?

This page on the mongo site non discute veramente i livelli di registrazione, ma tratta -v rispetto a -vvvv per la verbosità. È la stessa cosa del livello log? Come in -vvvvv equivale a un livello di registro di debug e -v corrisponde a un livello di log degli errori? I documenti sono molto poco chiari su questo argomento.

risposta

1

I livelli di registrazione si riferiscono ai livelli di registrazione dei binari mentre l'indicatore -v fa riferimento alla verbosità.

Rails imposta automaticamente il livello di registrazione più alto nella produzione rispetto a quando è in fase di sviluppo, quindi non dovresti avere nulla di cui preoccuparti.

+1

Non sono sicuro che sia così, ho aggiornato l'OP. Il messaggio afferma espressamente che è da MONGODB e ci sono molti messaggi Mongo nel mio log come 'MONGODB the_database ['users']. Find ({: deleted_at => nil,: deleted => nil})'. Mi chiedo se questo provenga da Mongoide. – jcollum

+0

Sembra che provenga dal driver Mongo ruby: http://api.mongodb.org/ruby/current/Mongo/Logging.html# (nell'origine). – jcollum

+0

Ok è questo nella produzione o nello sviluppo? –

6

Ho avuto problemi con questo nel mio test, così ho finito per fare il seguente nel mio spec_helper.rb:

Mongoid.logger.level = Logger::INFO 

Tuttavia, se si è all'interno di rotaie si dovrebbe probabilmente (non testato) utilizzare questo per l'accesso il logger invece:

config.mongoid.logger 
+0

Questo era esattamente il mio problema, avevo i messaggi di log che si riversavano su stdout durante l'esecuzione di rspec con mongoid + sinatra. Grazie! – radixhound

+0

Ecco il link a [la documentazione per questo] (http://mongoid.org/en/mongoid/docs/installation.html#logging) – toxaq

1

Se stai usando mongoid 2.2 o superiore, è possibile impostare in mongoid.yml:

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

Inoltre, questo fa ha un impatto sulle prestazioni. Quando ho disattivato la registrazione di mongo in produzione, ho visto un minor numero di raccolte di dati inutili e di impronte di memoria delle istanze dell'applicazione di circa 15 megabyte inferiori durante i test di caricamento di 30 minuti con apachebench.

Problemi correlati