npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@krakedev_clearminds/kafka-logger-michimoney

v1.0.1

Published

## Descripción

Downloads

1

Readme

Kafka Logger

Descripción

Esta es una librería interna diseñada para enviar logs desde APIs a Kafka utilizando Winston como logger. La librería permite centralizar la gestión de logs y asegura que todos los logs se envíen a un único tópico en Kafka.

Installación

Para instalar la librería, utiliza npm:

npm i @krakedev_clearminds/kafka-logger-michimoney

Uso

Importación

Puedes importar el KafkaLogger de la siguiente manera:


import { KafkaLogger } from '@krakedev_clearminds/kafka-logger-michimoney';
Configuración
Para utilizar el KafkaLogger, primero necesitas crear una instancia del logger, proporcionando la lista de brokers de Kafka y el tópico en el que se enviarán los logs.


const kafkaLogger = new KafkaLogger(['broker1:9092', 'broker2:9092'], 'tu-topico');
Conexión
Antes de enviar logs, es necesario conectar el productor:

await kafkaLogger.connect();
Enviar Logs
Hay dos métodos principales para enviar logs:

logMessage: Para enviar mensajes simples.

await kafkaLogger.logMessage('info', 'Este es un mensaje de log');
logCustomMessage: Para enviar logs más detallados con información personalizada.
javascript
Copiar código
const customLog = {
  ip: '192.168.1.1',
  appUser: 'usuario123',
  apiName: 'miApi',
  // ...otros campos personalizados
};

await kafkaLogger.logCustomMessage(customLog);

Estructura de CustomLog
El objeto CustomLog puede contener los siguientes campos opcionales:

ip: Dirección IP del cliente.
appUser: Identificación del usuario de la aplicación.
channel: Canal a través del cual se accede (e.g., web, mobile).
consumer: El consumidor de la API.
apiName: Nombre de la API.
microserviceName: Nombre del microservicio.
methodName: Nombre del método ejecutado.
layer: Capa del servicio.
parentId: Identificador del proceso padre.
referenceId: Identificador de referencia.
dateTimeTransacctionStart: Hora de inicio de la transacción.
dateTimeTransacctionFinish: Hora de finalización de la transacción.
executionTime: Tiempo de ejecución de la operación.
country: País desde el cual se realiza la llamada.
city: Ciudad desde la cual se realiza la llamada.

Ejemplo Completo

Aquí tienes un ejemplo completo de cómo usar la librería:

import { KafkaLogger } from '@krakedev_clearminds/kafka-logger-michimoney;

const kafkaLogger = new KafkaLogger(['broker1:9092'], 'mi-topico');

async function main() {
  await kafkaLogger.connect();

  await kafkaLogger.logMessage('info', 'Iniciando el servicio');

  const customLog = {
    ip: '192.168.1.1',
    appUser: 'usuario123',
    apiName: 'miApi',
    // ...otros campos
  };

  await kafkaLogger.logCustomMessage(customLog);
}
main().catch(console.error);

Contribuciones

Contributions are always welcome!

See contributing.md for ways to get started.

Please adhere to this project's code of conduct.