rails logger log how debug ruby-on-rails ruby-on-rails-3.1 filesize logging

logger - Ruby on rails tamaño de archivo de registro demasiado grande



logger ruby on rails (8)

Me tropecé al enterarme de que mi archivo de registro rails3.1 es super grande, alrededor de 21 mb. ¿Es esto, en términos de tamaño normal? ¿Qué le gustaría al archivo de registro en el entorno de producción? Además, ¿puedo deshacerme del registro? Gracias



Sí, puedes usar una sintaxis como esta:

config.logger = ActiveSupport::Logger.new(config.log_file, num_of_file_to_keep, num_of_MB*1024*1024)

Ejemplo:

config.logger = ActiveSupport::Logger.new(config.log_file, 2, 20*1024*1024)

No solo se usa para el registro de Rails, sino que también se puede usar el archivo de registro de cualquier servicio ejecutado con rails, como: rpush log, ...


Un compromiso justo, en un inicializador:

Rake::Task[''log:clear''].invoke if Rails.env.development? || Rails.env.test?


Usted puede simplemente eliminar el archivo!
Rails creará un nuevo registro si no existe uno.
Obviamente, guarde / haga una copia de seguridad del archivo si es importante, pero generalmente no lo es.
También puede comprimir el archivo de copia de seguridad (y luego eliminar la fuente) si desea mantenerlo en la misma unidad pero aún así ahorrar espacio.

Para rotar automáticamente los archivos de registro (la mejor solución a largo plazo) use log rotate como se describe aquí:

Rotación de registro de producción de Ruby on Rails

Entonces puedes configurarlo y olvidarlo!

Para cambiar realmente lo que se registra ver:

http://dennisreimann.de/blog/silencing-the-rails-log-on-a-per-action-basis/


De acuerdo con la documentación , si desea limitar el tamaño de la carpeta de registro, coloque esto en su archivo ''development.rb'':

config.logger = ActiveSupport::Logger.new(config.paths[''log''].first, 1, 50 * 1024 * 1024)

Con esto, sus archivos de registro nunca crecerán más de 50Mb. Puede cambiar el tamaño a su preferencia. El ''1'' en el segundo parámetro significa que se mantendrá 1 archivo de registro histórico, por lo que tendrá hasta 100Mb de registros: el registro actual y el fragmento anterior de 50Mb.


config.logger = ActiveSupport::Logger.new(nil) hace el truco y deshabilita completamente el registro en un archivo (la salida de la consola se conserva).


config/initializers/clear_development_log.rb automáticamente los registros en desarrollo en cada servidor, comience con config/initializers/clear_development_log.rb :

if Rails.env.development? `rake log:clear` end


La carpeta de log de su aplicación Rails contiene tres archivos de registro correspondientes a cada uno de los entornos estándar. Los archivos de registro pueden crecer mucho con el tiempo. Se proporciona una rake task para permitir la eliminación fácil de los archivos de registro.

rake log:clear # Truncates all *.log files in log/ to zero bytes # Specify which logs with LOGS=test,development,production