Base de conocimiento

Creado por eth0
2011-09-30
19:51:59

Categorías
Etiquetas

Visualizar logs usando Vim

Son muchas las ocasiones en las que nos puede hacer falta visualizar logs: tal vez porque estemos desarrollando una aplicación y queramos tener a mano los logs de depuración, por poner un ejemplo.

Hay muchas maneras de tener a mano los logs de una aplicación. Algunas de las que conozco —de las muchas que hay— son estas:

Las ventajas de usar Vim para visualizar logs incluyen la posibilidad de tener los logs en una pestaña y editar el código en otra, poder hacer búsquedas en el fichero de log rápidamente —aunque esto también se puede hacer con less—, resaltar los resultados de la búsqueda para detectar más fácilmente cuándo la aplicación escribe un determinado mensaje en el log, y muchas más.

En mi caso particular prefiero tener una instancia separada de GVim para ver los logs y otra para editar código, aunque eso ya entra en el gusto de cada uno.

Así es como lo hago yo:

  1. En lugar de arrancar GVim usando el comando gvim, lo arranco usando el comando gview. El arrancarlo de esta manera es equivalente a arrancar GVim con la opción readonly activada.
  2. Al comando gview le paso el parámetro -p para que me abra los ficheros de log en pestañas separadas.
  3. También le añado el parámetro --cmd con el valor "set autoread | set nomodifiable" para que, además de recargar los ficheros cada vez que se detecte que han sido modificados al recuperar la ventana el foco, no se puedan modificar los correspondientes búferes. Porque ¿para qué íbamos a querer modificar los logs?

Una vez unidos los tres puntos anteriores, la línea de comandos que nos queda es la siguiente:

$ gview -p --cmd "set autoread | set nomodifiable" fichero1 fichero2 ...

Por último, para evitar tener que escribir todo eso si siempre son los mismos ficheros los que tenemos que mirar, nos basta con crear un alias o un script que nos ejecute el comando.