Semantic Logger es un framework enriquecido de logueo que permite producir resultados legibles para humanos y para m谩quinas 馃
Entre las caracter铆sticas principales listan:

  • Archivos de log con texto coloreado para que los humanos lo podamos leer.
  • Archivos de log JSON con toda la informaci贸n sem谩ntica para alimentar a las m谩quinas.
  • Escribir a m煤ltiples destinos a la misma vez
  • Enviar los logs a un sistema centralizado de logueo, via JSON o adaptadores incluidos.

Como implementa la interfaz est谩ndar de logueo de Ruby, se puede reemplazar el log normal con Semantic Logging. Lo prob茅 con el cliente oficial de Elasticsearch para ver qu茅 tal, s贸lo hay que pasarlo como par谩metro al inicializador:

require 'elasticsearch'
require 'semantic_logger'

SemanticLogger.default_level = :debug
SemanticLogger.add_appender(file_name: 'desarrollo.log', formatter: :color)
logger = SemanticLogger['elasticsearch-ruby'] #nombre de la aplicaci贸n

client = Elasticsearch::Client.new(logger: logger)
client.cluster.health

El archivo desarrollo.log generado por la biblioteca se muestra con colores en la terminal al leerlo con cat.

Tiene tambi茅n un Appender para Elasticsearch (que usar el cliente oficial Ruby Elasticsearch), lo que nos permite redirigir los logs directamente a Elasticsearch a un 铆ndice del formato "nombre-fecha" (por defecto "semantic_logger-"%Y.%m.%d""). Podemos especificar el nombre del 铆ndice, formato de fecha y m谩s.

SemanticLogger.add_appender(
  appender: :elasticsearch,
  url: 'http://localhost:9200',
  index: 'desarrollo-ruby'
)
logger = SemanticLogger['desarrollo-ruby']
logger.info('隆Hola Mundo!')

Con esto, podr铆a usar el logger para una aplicaci贸n que usa el cliente Elasticsearch y redirigir los logs del cliente Elasticsearch a un cl煤ster Elasticsearch a trav茅s del adaptador Elasticsearch que usa el cliente Elasticsearch y leer los logs con el cliente Ruby de Elasticsearch...

Yo dawg I heard you like Elasticsearch logging

Hay muchas cosas m谩s para aprender de Semantic Logging, lo podemos hacer en su sitio web, o visitar el c贸digo fuente en GitHub.

No hay comentarios en este post - Feed de comentarios

Dejar un comentario

Toasty!