Busindre » Blog Archive » Color en los ficheros de logs y páginas de manual (man) en GNU/Linux

Color en los ficheros de logs y páginas de manual (man) en GNU/Linux

October 6th, 2008 by Busindre

Es este post vamos a contar como visualizar con la sintaxis coloreada los ficheros de logs y manpages en sistemas GNU/Linux para tener una lectura más cómoda de esos ficheros. Para tener las paginas de los manuales de Linux coloreadas solo necesitaremos tener instalado el programa most y exportar una variable en .bashrc. Para colorear la sintaxis de los ficheros de log (/var/log/) usaremos Ccze.

Colorear las paginas del Manual:

Editar el fichero .bashrc del usuario añadiendo o modificando la siguiente linea:

export PAGER=most

A partir de ahora, cuando queramos visualizar una manpage sobre un determinado comando, este saldrá a color.

NOTA: Se da por supuesto que el usuario tiene instalado la aplicación most

Colorear los ficheros de Log:

Lo más probable es que se tenga la aplicación lista para instalar en los repositorios, pero mostraremos como es posible compilarla

Descargar CCZE (Original + Parche diff) : http://packages.debian.org/sid/ccze

Compilar / Instalar Ccze:

$ tar -zxvf ccze_0.2.1.orig.tar.gz
$ cd ccze-0.2.1/
$ zcat ../ccze_0.2.1-2.diff.gz | patch -p1
$ ./configure --prefix=/usr
$ make
# make install o checkinstall

Forma de uso de Ccze:

$ ccze [opciones] < logfile

Opciones de Interés:

-A Muestra la salida en colores Ansi. (Recomendable usar)
-C Transforma las fechas en formato "unix timestamp" a otro más legible.
-h Muestra la salida en código html (Con colores)
-r Quita el típico "facility level" del fichero de log syslog.

Ejemplos de uso:

Usando el comando tail -f para ver en tiempo real el final de un archivo de logs:

$ tail -f /var/log/fichero.log | ccze

Que es lo mismo que:

$ ccze -A < /var/log/dmesg | tail -f

Leer con less un fichero de logs coloreado:

$ ccze -A < /var/log/dmesg | less -R

Pasar el contenido de un fichero de logs a un documento html

$ cat /var/log/dmesg | ccze -C -h > pagina.html

Que es lo mismo que:

$ ccze -C -h > pagina.html < /var/log/dmesg

Podemos usar algun alias o funciones en el fichero .bashrc de nuestro usuario, veamos un par de ejemplos:

Ejemplo 1
verlog()
{
ccze -A -C -r < $1 | less -R
}

Ejemplo 2
log2html()
{
cat $1| ccze -A -C -h > $2
}

Una vez insertado lo anterior en $HOME/.bashrc, podremos ejecutar los comandos "verlog" y "log2html" pasándole como parámetro la ruta al fichero de log.

# verlog /var/log/dmesg
# log2html /var/log/dmesg fichero.html

Posted in Linux |

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.