yourlogger
v0.0.6
Published
A simple logger package for browser and runtime environments.
Maintainers
Readme
YourLogger
YourLogger es una librería simple y configurable para registrar logs tanto en el navegador como en entornos de ejecución (Node.js). Incluye soporte para colores, manejo de stack traces, timestamps, y detección automática del entorno (navegador o runtime).
Características
- Soporte para colores en los logs (tanto en Node.js como en el navegador).
- Opción para incluir el stack trace en los logs.
- Opción para incluir timestamps en los logs.
- Patrón Singleton para garantizar una única instancia de logger.
- Detección automática del entorno (
runtimeobrowser). - Métodos específicos para distintos niveles de log:
log,info,warn, yerror.
Instalación
Instala el paquete usando npm o yarn:
npm
npm install yourloggeryarn
yarn add yourloggerUso básico
Para empezar a usar YourLogger, importa la clase y crea una nueva instancia con la configuración deseada.
import Logger from 'yourlogger';
// Crear una instancia de Logger
const logger = new Logger({
withStackTrace: true, // Mostrar stack trace en los logs
withTimestamp: true, // Incluir timestamps en los logs
enableColors: true, // Habilitar colores en los logs
});
// Registrar un mensaje de log
logger.log('Este es un mensaje de log.');
// Registrar un mensaje de información
logger.info('Este es un mensaje informativo.');
// Registrar una advertencia
logger.warn('Este es un mensaje de advertencia.');
// Registrar un error
logger.error('Este es un mensaje de error.');Navegador CDN UMD o ES Module
Si deseas usar YourLogger en un navegador, puedes importar el script UMD o el módulo ES directamente desde jsDelivr.
UMD
<script src="https://cdn.jsdelivr.net/npm/yourlogger/dist/yourlogger.umd.min.js"></script>
<script>
const logger = new YourLogger.Logger();
logger.log('Mensaje de log en el navegador.');
</script>ES Module
<script type="module">
import { Logger } from 'https://cdn.jsdelivr.net/npm/yourlogger/dist/yourlogger.es.min.js';
const logger = new Logger();
logger.log('Mensaje de log en el navegador.');
</script>Configuración
Cuando creas una instancia de Logger, puedes configurar las siguientes opciones:
| Opción | Tipo | Descripción | Valor por defecto |
|------------------|----------|-------------------------------------------------------------------|-------------------|
| withStackTrace | boolean | Habilita o deshabilita la inclusión del stack trace en los logs | true |
| withTimestamp | boolean | Habilita o deshabilita la inclusión de un timestamp en los logs | true |
| colors | Colors | Configura los colores para runtime y browser | (Ver abajo) |
| enableColors | boolean | Habilita o deshabilita los colores en los logs | true |
Ejemplo de Configuración de Colores
Puedes personalizar los colores que se usan en los logs tanto para el entorno de ejecución (Node.js) como para el navegador:
const logger = new Logger({
colors: {
runtime: {
reset: "\x1b[0m",
error: "\x1b[31m", // Rojo
warn: "\x1b[33m", // Amarillo
info: "\x1b[94m", // Azul claro
log: "\x1b[32m", // Verde
},
browser: {
reset: "",
error: "color: red",
warn: "color: yellow",
info: "color: #1E90FF;",
log: "color: green",
},
},
});Métodos
log(message: any): void
Registra un mensaje estándar en la consola. El formato incluye el timestamp, el tipo de log (LOG), y opcionalmente el stack trace.
logger.log('Este es un mensaje de log.');info(message: any): void
Registra un mensaje de información en la consola. Utiliza el prefijo INFO.
logger.info('Este es un mensaje de información.');warn(message: any): void
Registra una advertencia en la consola. Utiliza el prefijo WARN.
logger.warn('Este es una advertencia.');error(message: any): void
Registra un mensaje de error en la consola. Utiliza el prefijo ERROR y muestra el stack trace completo.
logger.error('Este es un mensaje de error.');Detección del entorno
YourLogger detecta automáticamente si se está ejecutando en un entorno de navegador o en Node.js. Esto te permite usar la misma instancia de Logger tanto en el cliente como en el servidor sin configuraciones adicionales.
Método relevante:
detectEnvironment(): Devuelvebrowsersi se está ejecutando en el navegador oruntimesi es Node.js.
const environment = logger.detectEnvironment(); // 'browser' o 'runtime'Ejemplos avanzados
Mostrar Stack Trace solo en Node.js
const logger = new Logger({
withStackTrace: process.env.NODE_ENV !== 'production', // Mostrar stack trace solo en desarrollo
});
logger.log('Mensaje con stack trace en Node.js');Desactivar colores en producción
const logger = new Logger({
enableColors: process.env.NODE_ENV !== 'production', // Colores solo en desarrollo
});
logger.error('Este es un error sin colores en producción.');Desarrollo
Si deseas desarrollar o modificar yourlogger, puedes seguir estos pasos:
Clona el repositorio:
git clone https://github.com/usuario/yourlogger.git cd yourloggerInstala las dependencias:
npm installEjecuta el modo de desarrollo:
npm run devGenera la build de producción:
npm run build
Contribuyendo
Si deseas contribuir a este proyecto, sigue estos pasos:
- Haz un fork del proyecto.
- Crea una rama para tu feature (
git checkout -b feature/nueva-feature). - Haz commit de tus cambios (
git commit -am 'Agrega nueva feature'). - Haz push a la rama (
git push origin feature/nueva-feature). - Abre un Pull Request.
Licencia
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más información.
