Espiar cambios en un fichero de log


nullRecientemente ando enfrascado en un pequeño proyecto personal (e informático, que de otras índoles tengo más ;)) que dada su naturaleza (servicio web) requiere estar al tanto de los cambios que se producen en el fichero de registro de Apache.

Como me he sorprendido usando un comando (que explicaré en breve) que me permita desde la terminal ir visualizando los cambios sin tener que estar abriendo continuamente el fichero o haciendo un cat del mismo, y recordando que al principio usaba alguno de los dos métodos anteriores (con lo «cansados» que son), he optado por ofreceros la solución por si a alguno le viene bien.

Un poco de culturilla «general»

Un fichero de log o registro es un archivo en el que se van anotando todos los sucesos que ocurren en determinado sistema.

Ésta no es una gran definición (pero para hacernos una idea puede servir) puesto que depende del programa que haga uso del fichero: no es lo mismo un fichero de registro de una aplicación en su fase de desarrollo que el log de un keylogger 😉

Mostrando en pantalla los cambios de un fichero

A estas alturas nos dará igual que se trate de un fichero de registro como de cualquier otro fichero cuyo contenido cambie en el tiempo (imagina que estás redireccionando la salida de determinado comando a un fichero y te interesa ver lo que está escribiendo/haciendo).

Para poder ver los cambios en «tiempo real» bastará con lanzar

tail -f RUTA-AL-FICHERO

Sirva de ejemplo

tail -f /opt/joomla1.5/apache2/logs/error_log

Donde estoy espiando los cambios que se produzcan en el fichero error_log que se encuentra en el directorio /opt/joomla1.5/apache2/logs/ y que se correponde (podría haber puesto cualquier otro ejemplo) al servidor Apache que instalé en mi equipo con el stack de Bitnami para Joomla.

Marcando puntos de interés en el log

Aunque cada anotación en el fichero de log suele venir acompañada de la hora y fecha en la que se produjo
null

Cuando llevamos un rato trabajando con él puede resultar especialmente complicado (y cansado) encontrar dónde comienza la última anotación desde que miramos el fichero por última vez.

Una técnica que suelo utilizar es

  1. colocarme en la ventana en la que se muestran los cambios del fichero
  2. dejar pulsado un rato la tecla del guión (puedes usar la que más cómoda te resulte y/o guste ;))
  3. pulsar el retorno de carro

NOTA: no tengas miedo que no se va a fastidiar el comando tail ni te vas a cargar el contenido del fichero de log.

Con ello conseguimos localizar rápida y fácilmente los cambios que se han producido: bastará con encontrar la última ristra de guiones y todo lo que esté debajo es nuevo 😀
null

Conclusión

Método sencillo y rápido con el que conocer (conforme se producen) todos los cambios de un fichero.

Espero os sea de utilidad y evitéis (como sufrí en mis inicios) tener que estar abriendo y cerrando ficheros de log para ver los cambios.

12 comentarios en “Espiar cambios en un fichero de log

  1. Buen post, les dejo una recomendación para visualizar mejor los log, instalen ccze la cual les va a colorear la sintaxis de los log y lo activan simplemente:

    tail -f /var/log/mail.log | ccze

    Me gusta

  2. Ciero el primer comentario… es un poco molesto ir a la web ….. para ver el articulo…. Creo recordad que desde el liferia veia completamente los post…. ahora no….

    En fin… ¿ algún motivo en especial ? a mi particularmente me da igual….

    Saludos y gracias, muy interesante 😉

    Me gusta

  3. @salsaMalaga siento oir que has optado por darme de baja por dicho motivo.

    El motivo (y aquí incluyo a @Rafa) de no mostrar los posts completos en el lector de noticias se debe a una preferencia personal: normalmente me resultan incómodos aquellos blogs que visito y encuentro todo el texto directamente en el artículolo incómodo.

    Creo que es más cómodo mostrar una introducción del tema y si estoy interesado entrar en el artículo «completo» para leer el resto.

    ¿Alguien conoce una forma de seguir como hasta ahora y que en el lector de noticias aparezca íntegro el texto?

    Me gusta

  4. La verdad el post esta muy bueno y el blog es genial , respecto al primer comentario le pido al Administrador del blog que no le tome importancia

    Saludos

    Me gusta

  5. Pingback: Bitacoras.com
  6. Gente por favor me podrian comentar si es que se puede convertir un archivo de extension «*.dat» a «*.log» o «*.lic» la siguiente conversion de «*.txt» a «*.log» o «*.lic»

    Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.