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?
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.
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
.
less -R log/development.log
Je viens de commencer à utiliser cela.
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.
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.
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.
J'utilise la queue avec grep
tail -f log/development.log | grep Started -A 1
Fonctionne à merveille.
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!
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.
Vous pouvez essayer cette commande
$ tail -f development.log
$ tail -f log/development.log