4Trabes Historias de una empresa en 100 metros cuadrados

El blog de Trabe Soluciones

Manteniendo los logs a raya

| | Comentarios

Si hay algo que detesto de mi máquina de desarrollo es encontrarme con que los logs de las aplicaciones Rails han crecido hasta ocupar cientos de megas. La configuración por defecto de Rails asume que todo el log irá a un fichero y que es el usuario el que configura como quiere que se gestionen la rotación en producción (en Trabe solemos usar logrotate).

Hay varias opciones para mantener a raya los logs en desarrollo. La primera es configurar en config/environments/development.rb el Logger de Rails para que rote los ficheros:

1
config.logger = Logger.new(config.paths.log.first, 0, 2.megabytes)

Con estos parametros nuestro fichero de log rotaría al alcanzar 2 megas y no almacenaríamos ficheros antiguos (así es como me gusta a mi, pero en la documentación de la clase Logger podéis ver que hay más opciones de rotación.

Otra posibilidad es utilizar un servicio de loggin del operativo, por ejemplo usar syslog y configurarlo como prefiramos.

1
config.logger = SyslogLogger.new

Esta opción es más flexible ya que nos permite tener fuera de la aplicación la configuración (así cada desarrollador puede ponerla a su gusto). De todos modos, al igual que en el primer caso, esto nos obliga a acordarnos de configurar el logger cada vez que creamos una nueva aplicación y eso es “demasiado esfuerzo”. Mi solución favorita es no tocar nada en las aplicaciones Rails y utilizar un servicio de rotación de logs como se hace en producción: lograte en Linux y newsyslog en Mac OSX, configurado de tal modo que se roten todos los logs de las aplicaciones que estoy desarrollando.

Con lograte, añadimos un fichero en la carpeta /etc/logrotate.d/ tal que así:

1
2
3
4
5
6
7
/home/david/code/*/log/*.log {
  size 2M
  rotate 0
  create 640 david users
  copytruncate
  missingok
}

y si usamos newsyslog lo añadimos a la carpeta /etc/newsyslog.d/:

1
2
# logfilename                  [owner:group]    mode count size    when  flags [/pid_file] [sig_num]
/Users/david/code/**/log/*.log david:staff      640  0     2048    *     GN

Easy peasy lemon squeezy ;)

Welcome Clara and welcome back Lucas

| | Comentarios

Este post de bienvenida llega con un poco de retraso. Unos días en el caso de Clara, un par de semanas en el de Lucas.

Clara se une a la familia Trabe para realizar unas prácticas de tres meses tras los que esperamos que se quede con nosotros todo el tiempo que quiera. De momento viene a aprender y a echar una mano al lado Java de Trabe.

A Lucas ya habíamos tenido el privilegio de tenerlo entre nosotros allá por el 2008, antes de que se fuese a vivir una aventura vital por Sudamérica y el Sudeste Asiático durante casi dos años. Ahora ha vuelto para demostrar que segundas partes sí pueden ser buenas y nos echará una mano con nuestros desarrollos Ruby on Rails y JavaScript.

Os damos las gracias a los dos por apuntaros a la aventura Trábica. Esperamos que lo paséis bien y aprendamos y crezcamos todos juntos.

Y como sois dos, toca poner dos gifs animados de Jake! :D



Trävidad

| | Comentarios

2014 se nos escapa de las manos señores!! La Trävidad está en su momento culmen!

Como siempre en Trabe, 2014 ha sido un año intenso que nos ha traido algún hasta luego y un par de bienvenidas: una y dos. Por lo demás, hemos seguido participando en charlas, eventos y todo lo que habéis ido viendo en el blog

Para acabar el año, como es tradición, lo hemos montado muy bien ;)

Feliz 2015 a todos!!