web-dev-qa-db-fra.com

Comment pouvons-nous regarder le journal de développement de Rails?

Un membre de mon équipe développe une application Rails sous Windows XP. Nous constatons que lorsque nous exécutons l'application, que nous la lançons dans NetBeans ou en ouvrant une console et en appelant script/server, le journal de développement Rails ne défile pas. Il n'y a que le message de démarrage de Webrick. L'application est en cours d'exécution, mais lorsque nous consultons différentes pages du navigateur, nous ne voyons aucune sortie de journalisation.

Lorsque je regarde l'application identique sur mon système OS X, la sortie de la journalisation fonctionne comme prévu.

Je me suis assuré qu'il fonctionne dans l'environnement de "développement" de Rails.

Des idées pour lesquelles la coupe serait supprimée?

Existe-t-il des paramètres de configuration pour le fichier environment.rb qui l’affecteraient?

50
Ethan

Regardez dans le répertoire log/ - il devrait y avoir un development.log. Je parie que votre sortie est là.

Si ce n'est pas le cas, assurez-vous que ce répertoire est accessible en écriture. 

Pour savoir comment le voir en cours d’exécution: si vous avez installé git bash, ou un autre shell tel que cygwin, vous pouvez ouvrir un shell et faire tail -f log/development.log qui fera défiler le journal au fur et à mesure de l’ajout de données.

109
Sarah Mei

La documentation Rails Configuration suggère que vous pouvez avoir log_level défini sur autre chose que :debug dans votre configuration.

Il existe également un autre emplacement pour afficher les demandes: le fichier log/development.log dans votre application Rails. Si rien n’y est écrit, alors votre problème doit être en configuration. Sur un système * nix, je lancerais:

$ tail -f log/development.log

Et observez les demandes courues par. Ils me disent qu’il existe une version Windows de tail .

8
Andres Jaan Tack
less -R log/development.log

Je viens de commencer à utiliser cela.

6
Tu H.

Essayez ceci, pour obtenir le journal de développement:

tail -f log/development.log

Assurez-vous que vous êtes dans le chemin de l'application.

3
Rahul2692

Netbeans semble ne plus afficher le journal de développement dans la fenêtre de la console lorsque ce dernier devient trop volumineux. Du moins, ce fut mon expérience.

2
srboisvert

J'utilise toujours log/development.log pour regarder les journaux. Juste tail -f en utilisant cygwin ou quelque chose.

Peut-être que votre environnement Windows utilise WEBrick et que l'environnement OS X utilise Mongrel ou un autre serveur Web. J'ai remarqué qu'avec certains serveurs Web, la sortie de journalisation est (également) écrite directement dans le shell et, dans d'autres, uniquement dans les fichiers journaux.

2
Thiago Arrais

J'utilise la queue avec grep

tail -f log/development.log | grep Started -A 1

Fonctionne à merveille.

1
Hristo

Vous pouvez voir les journaux d'exécution à l'aide de la commande ci-dessous:

tailf log/development.log

Aussi, si vous voulez juste le premier ou le dernier nombre de lignes des journaux, vous pouvez simplement obtenir ceux qui utilisent la commande ci-dessous (les 100 premières/dernières lignes des journaux):

Par exemple:

100 premières lignes:

head -n 100 log/development.log 

100 dernières lignes:

tail -n 100 log/development.log

Merci!

1
Sumit Munot

Sans entrer dans les sources de Webrick, je soupçonne que la quantité d’information affichée n’est pas grande par défaut. Êtes-vous sûr que vous utilisez Webrick sur OSX et non sur Mongrel?

En fait, existe-t-il une raison particulière de continuer à utiliser Webrick? Avant l'avènement de Phusion Passenger, Mongrel était devenu le serveur frontal de choix de facto, qui fonctionne parfaitement sous Windows. Si vous l'installez (gem install mongrel), Rails l'utilisera par défaut.

Dans mon environnement de développement, exécutant Webrick (après avoir compris comment - cela faisait longtemps), j'ai obtenu une sortie très brève: un simple enregistrement de la requête "GET". En passant à Mongrel, j'ai eu le travail complet: demande, paramètres, SQL, timings, etc.

1
Mike Woodhouse

Vous pouvez essayer cette commande

$ tail -f development.log


$ tail -f log/development.log
0
Foram Thakral