Quem programa em Ruby há algum tempo, não consegue mais largar a excelente ferramenta que é o rails console. Carregar objetos e chamar regras de negócio por linha de comando, não tem coisa mais prática quando queremos algum resultado rápido.
Hoje, precisei chamar uma regra de negócio para um caso rápido, porém eu queria ver o que ela estava escrevendo no log, no momento. A solução foi relativamente simples, compartilho aqui:
ActiveRecord::Base.logger = Logger.new(STDOUT)
O resultado foi até melhor do que eu esperava… Pude ver, com detalhes, até as consultas SQL que meu código estava chamando!
Veja que legal:
[fabio@fabio-macbook projeto-x]$ rails console
Loading development environment (Rails 3.0.3)
ree-1.8.7-2010.02 :001 > ActiveRecord::Base.logger = Logger.new(STDOUT)
=> #<Logger:0x104122bb8 @formatter=nil, @progname=nil, ... @level=0>
ree-1.8.7-2010.02 :002 > u = Portal::Usuario.find(24426)
Portal::Usuario Load (21.1ms) SELECT "USUARIO".* FROM "USUARIO" WHERE ("USUARIO"."ID" = 24426) AND ROWNUM <= 1
=> #<Portal::Usuario id: 24426, area: nil, ... tipousuario_id: 3>
ree-1.8.7-2010.02 :003 > u.revalida_alguma_coisa!
Blabla meu log personalizado etc.