Como podemos assistir o log de desenvolvimento Rails?
-
06-07-2019 - |
Pergunta
Um membro da minha equipe está desenvolvendo um aplicativo Rails no Windows XP. Estamos descobrindo que quando executa a aplicação, quer lançá-lo dentro NetBeans ou abrindo um console e chamando script/server
, log de desenvolvimento do Rails não rolar. Há apenas a Webrick inicialização mensagem. O aplicativo é definitivamente em execução, mas quando nós batemos várias páginas no navegador não estamos vendo qualquer saída de registro.
Quando eu olho para o aplicativo idêntico no meu sistema OS X, registrando obras de saída conforme o esperado.
Eu fiz certeza de que ele está sendo executado em Rails ambiente "desenvolvimento".
Todas as ideias que a exploração madeireira seria suprimida?
Existem config-params para o arquivo environment.rb que afetá-lo?
Solução
Olhe no diretório log/
- deve haver um development.log
. Eu aposto que sua saída está lá.
Se não for, certifique-se de que diretório é gravável.
Para saber como vê-lo enquanto você está executando: se você tem o bash git instalado, ou algum outro shell como cygwin, então você pode abrir um shell e fazer tail -f log/development.log
que irá percorrer o log como ele deixa o material anexado a ele .
Outras dicas
O Rails Configuração documentação sugere que você pode ter conjunto log_level
para algo diferente que :debug
em sua configuração.
Há também um lugar alternativo para visualizar os pedidos: o arquivo de log / development.log na sua aplicação Rails. Se nada está escrito lá, então o problema deve estar na configuração. Em um sistema * nix eu correria:
$ tail -f log/development.log
e assistir os pedidos dirigida por. Dizem-me que há uma versão Windows do tail
.
less -R log/development.log
Eu só comecei a usar isso.
Eu sempre uso log/development.log
de olhar para os logs. Apenas tail -f
-lo usando cygwin ou algo assim.
Talvez seu ambiente Windows está usando WEBrick eo ambiente OS X está usando o Mongrel ou outro servidor web. Tenho notado que com alguns servidores web a saída de registro (também) escritos diretamente no shell e com os outros é escrito apenas para os arquivos de log.
Tente isso, para obter registro de desenvolvimento:
tail -f log/development.log
Certifique-se de que você está no caminho do aplicativo.
O NetBeans parece parar de exibir o log de dev na janela do console quando o log de dev fica muito grande. Pelo menos essa foi a minha experiência.
Sem cavando a fonte para Webrick, eu suspeito que a quantidade de informações exibidas é por padrão não é grande. Tem certeza de que você está executando Webrick no OSX e não Mongrel?
Na verdade, há uma razão especial para continuar a usar Webrick em tudo? Antes do advento da Phusion Passenger, Mongrel havia se tornado o de facto servidor front-end de escolha, e ele funciona muito bem no Windows. Se você instalá-lo (gem install mongrel
), então o Rails irá usá-lo por padrão.
No meu ambiente de desenvolvimento, correndo Webrick (depois que eu descobri como - tem sido um longo tempo) Eu tenho muito breve saída: apenas um registro da "GET" pedido. Mudar para Mongrel, eu tenho as obras completas: pedido, parâmetros, SQL, horários etc
.Eu uso cauda com grep
tail -f log/development.log | grep Started -A 1
funciona lindamente.
Você pode ver os logs em tempo de execução usando o comando abaixo:
tailf log/development.log
Além disso, se você só quer primeiro ou o último número de linhas a partir dos logs você pode simplesmente pegar aqueles que utilizam o comando abaixo (primeira / últimos 100 linhas de logs):
Por exemplo:
primeiras 100 linhas:
head -n 100 log/development.log
Última 100 linhas:
tail -n 100 log/development.log
Obrigado!
Você pode tentar este comando
$ tail -f development.log
$ tail -f log/development.log