Un visor en Access para inspeccionar los logs de hMailServer: hmsLogViewer

Introducción

hMailserver es un servidor de correo electrónico gratuito para Windows que funciona de maravilla y que utilizamos en nuestra organización.

Si utilizas hMailServer, verás que puedes activar la generación de un fichero de log en el que se registra mucha información de los servicios que ofrece el servidor.

hMailServer logging options

Los ficheros de log de hMailServer se nombran como ‘hmailserver_yyyy-mm-dd.log’, siendo ‘yyyy’ el año en cuatro cifras, ‘mm’ el mes con dos y ‘dd’ el día también con dos. Por omisión, hMailServer genera un fichero de log cada día. Se ubican en la subcarpeta ‘Logs’ de la carpeta en la que se ha instalado el software, generalmente C:\Program Files (x86)\hMailServer\Logs. El fichero es un CSV separado con tabuladores y juego de caracteres ANSI y puede ser realmente grande en tamaño, dependiendo del nivel de log que hayamos especificado en hMailServer y de la cantidad de dominios, cuentas y tráfico en general que maneje nuestro servidor.

En mi caso, hay ocasiones en las que el fichero de log alcanza o supera el gigabyte. Gestionar un fichero de este tamaño en un editor de texto convencional, aunque posible (Notepad++ 64 es una buena opción, por ejemplo), resulta una tarea muy lenta y moverse entre las distintas líneas de información o realizar búsquedas es un horror.

Por ese motivo, he creado una  utilidad en Access, capaz de importar el fichero log sobre tablas de Access, llevando cada línea de log a la tabla que le corresponde según su origen. Navegar entre los datos una vez pasados a Access es muy simple y cómodo, disponiendo de todas las herramientas de búsqueda, filtrado y ordenación que caracterizan a este producto.

hMailServer log viewer main screen

hMailServer log viewer main screen

La utilidad está desarrollada en inglés, y permite:

  • Ubicar el fichero de log de hMailServer que se quiere importar
  • Establecer el nº máximo de registros que se quieren leer del fichero de log. Esto es útil para limitar el nº máximo de registros a leer, sobre todo en fase de pruebas.
  • Establecer un rango de fechas, de forma que sólo se importarán las líneas del log comprendidas en el rango. Muy útil para limitar el tamaño de los datos importados y reducir el tiempo total de proceso.
  • Establecer un lapso de actualización de las estadísticas, en función del número de registros leídos. Cuanto mayor sea el valor, menos frecuentemente se actualizarán las estadísticas en pantalla y antes finalizará el proceso.
  • Crear una tabla de mezcla, es decir, una tabla que contiene una copia de TODOS los registros del CSV original en una tabla de Access bien estructurada. Aquí, es importante entender lo siguiente: Access tiene una limitación de tamaño establecida en 2 GB por fichero accdb ( o accde, es indiferente). Para evitar en la medida de lo posible esta limitación, el programa utiliza un fichero accdb para la propia aplicación (HMSLogViewer.accdb) y un fichero accdb diferente en función del origen de cada línea del log. Por ejemplo, las líneas del log SMTPC, se almacenan en el fichero ‘HMSLogViewer – SMTPC.accdb’ y así cada tipo de registro puede crecer hasta su límite de 2GB. Sin embargo, si decide crear una tabla de mezcla, que no es otra cosa que una réplica del fichero CSV original en Access, el accdb que lo almacena (HMSLogViewer – MERGE.accdb) puede alcanzar su límite de 2 GB con facilidad.

Requisitos del software

  • Microsoft Access 32 bits instalado o, en su defecto, runtime gratuito de Microsoft Access 32 instalado en el equipo

Instalación

  • Descargue el fichero ZIP desde aquí y descomprima en cualquier carpeta del PC donde vaya a ejecutarse.
  • El usuario de la aplicación debe disponer de permisos de escritura en esa carpeta
  • Es posible que tras el primer inicio deba cerrar y reiniciar la aplicación de nuevo. Esto es necesario para establecer la configuración inicial de la aplicación.
  • Si recibe avisos de seguridad, revise las opciones en Archivo – Opciones de Access – Centro de confianza – Configuración del centro de confianza. Le recomendamos establecer la carpeta donde ha instalado la aplicación como ‘ubicación de confianza’ y si esto no fuera suficiente, habilitar todos las macros en ‘Configuración de macros’. Para esto necesitará una versión completa de Access o solicitarme un fichero .reg que cambia estos valores modificando el registro de Windows directamente.
  • El ZIP de la aplicación incluye esta utilidad en formato accde. Este formato no incluye el código fuente ni permite realizar modificaciones a los formualrios, informes o código de Access. Comente conmigo si desea realizar algún cambio al software.

Notas

  • Tenga en cuenta la limitación de 2GB por fichero accdb/accde de Access.
  • Un fichero de log habitualmente duplica su tamaño una vez importado a Access
  • Access no falla elegantemente cuando se alcanza el tope máximo de tamaño y no puede preveerse la forma en que lo hará cuando alcance este límite
  • Si algún accdb alcanza el límite, es preferible sustituirlo por su original vacío que intentar su recuperación

Contestar