2011-10-16 18 views

Respuesta

19

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

Para girar automáticamente archivos de registro (la mejor solución a largo plazo) de registro de uso rote como se describe aquí:

Ruby on Rails production log rotation

entonces se puede establecer y olvidarse de él!

para cambiar realmente lo que se interpone Ver presencia:

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

+0

quiero decir que si es posible que los carriles no lo hacen generar un archivo de registro – Jason

+0

No sé si eso se puede hacer fácilmente. Tal vez alias a dev/null? Nah, mejor usar rotar y entonces agregué eso también. –

+0

tengo eso, gracias. – Jason

52

La carpeta 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 un rake task para permitir la fácil eliminación 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 
+4

Este awser debería haber sido aceptado. En el despliegue de pasajeros, una vez que elimina el archivo de registro, los rieles no crean uno nuevo. – EGurelli

4

According to the documentation, si desea limitar el tamaño de la carpeta de registro, ponga esto en su 'development.rb'-archivo:

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

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

0

sí, se puede utilizar 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 sólo el uso de rieles de registro, puede utilizar el archivo de registro de cualesquiera servicios se ejecutan con rieles, tales as: rpush log, ...

0

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

3

puedo borrar automáticamente los registros en el desarrollo en cada inicio del servidor con config/initializers/clear_development_log.rb:

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

un compromiso justo, en un inicializador:

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