Color en los ficheros de logs y páginas de manual (man) en GNU/Linux
October 6th, 2008 by BusindreEs 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 |
