2010-11-25 6 views
2

Je reçois ceci sur mon journal de développement. Que signifient les lignes mCACHE? Sont-ils des requêtes SQL?Rails logs. qu'est-ce que cela signifie

←[1m←[36mTodo Load (1.0ms)←[0m ←[1mSELECT "todos".* FROM "todos" WHERE ("todos".project_id IN (4,5,6,7,8,9,10,11,12,13))←[0m 
←[1m←[35mLog Load (1.0ms)←[0m SELECT "logs".* FROM "logs" WHERE ("logs".todo_id IN (134,135,136)) 
←[1m←[36mCACHE (0.0ms)←[0m ←[1mSELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1←[0m 
←[1m←[35mCACHE (0.0ms)←[0m SELECT "users".* FROM "users" WHERE ("users"."id" = 3) LIMIT 1 
←[1m←[36mCACHE (0.0ms)←[0m ←[1mSELECT "users".* FROM "users" WHERE ("users"."id" = 3) LIMIT 1←[0m 
←[1m←[35mCACHE (0.0ms)←[0m SELECT "users".* FROM "users" WHERE ("users"."id" = 3) LIMIT 1 
←[1m←[36mCACHE (0.0ms)←[0m ←[1mSELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1←[0m 
←[1m←[35mCACHE (0.0ms)←[0m SELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1 
←[1m←[36mCACHE (0.0ms)←[0m ←[1mSELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1←[0m 
←[1m←[35mCACHE (0.0ms)←[0m SELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1 
←[1m←[36mCACHE (0.0ms)←[0m ←[1mSELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1←[0m 
←[1m←[35mCACHE (0.0ms)←[0m SELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1 
←[1m←[36mCACHE (0.0ms)←[0m ←[1mSELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1←[0m 
←[1m←[35mCACHE (0.0ms)←[0m SELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1 
←[1m←[36mCACHE (0.0ms)←[0m ←[1mSELECT "firms".* FROM "firms" WHERE ("firms"."id" = 2) LIMIT 1←[0m 
+3

Vous pouvez utiliser le commutateur "-r" à moins si c'est ce que vous utilisez pour voir vos journaux. "less -r development.log", cela interprétera correctement les codes ANSI et rendra les choses belles. – Roadmaster

+0

@Roadmaster: Bon à savoir, merci! – Piskvor

+0

La sortie vers le journal devrait être 'cat''d ou' tail -f''d à l'écran où le terminal peut interpréter les codes. Si vous utilisez un éditeur, ou 'less' sans" -r ", vous obtiendrez la sortie uuuuu-gly. –

Répondre

2

Cache signifie que vous avez déjà exécuté la même requête et il est résultat est stocké dans la mémoire, de sorte que la requête n'est pas effectivement exécuté contre la base de données. Ce sont toutes des requêtes, c'est ce que Active Record fait quand il parle à la base de données.

+0

Merci. Réponse rapide et simple. Je vais corriger le code! –

4

Les [numberm sont juste ANSI color codes - il est censé montrer de jolies couleurs dans un terminal intelligent, semble mal autrement.

Le CACHE est "une requête sql, mise en cache (exécutée précédemment, maintenant chargée à partir du cache)" - voir par ex. this

+0

Merci! Connaissez-vous des terminaux intelligents pour Windows? –

+1

Je voudrais avoir le plus de chance avec Console2 http://sourceforge.net/projects/console/ – rwilliams

+1

Eh bien, probablement le plus connu est PuTTY - un émulateur de client/terminal SSH: http://www.chiark.greenend.org .uk/~ sgtatham/putty/download.html (pas utile en tant que console locale). En outre, ce que @rwilliams a dit. – Piskvor

Questions connexes